Linux我用 LinuxLinux学习之路

升级nginx以支持http2

2018-03-20  本文已影响153人  whisshe

HTTP/2 的优势

相比 HTTP/1.x,HTTP/2 在底层传输做了很大的改动和优化:

  1. HTTP/2 采用二进制格式传输数据,而非 HTTP/1.x 的文本格式。二进制格式在协议的解析和优化扩展上带来更多的优势和可能。
  2. HTTP/2 对消息头采用 HPACK 进行压缩传输,能够节省消息头占用的网络的流量。而 HTTP/1.x 每次请求,都会携带大量冗余头信息,浪费了很多带宽资源。头压缩能够很好的解决该问题。
  3. 多路复用,直白的说就是所有的请求都是通过一个 TCP 连接并发完成。HTTP/1.x 虽然通过 pipeline 也能并发请求,但是多个请求之间的响应会被阻塞的,所以 pipeline 至今也没有被普及应用,而 HTTP/2 做到了真正的并发请求。同时,流还支持优先级和流量控制。
  4. Server Push:服务端能够更快的把资源推送给客户端。例如服务端可以主动把 JS 和 CSS 文件推送给客户端,而不需要客户端解析 HTML 再发送这些请求。当客户端需要的时候,它已经在客户端了。

升级HTTP2必要条件

软件安装位置

升级所有游戏服务器的nginx和OpenSSL

修改nginx配置

listen 443 ssl  http2;

出现的问题及解决

centos7下openssl version报错openssl: error while loading shared libraries: libssl.so.1.1

    echo /usr/local/openssl/lib  >> /etc/ld.so.conf # 将openssl编译路径的lib库加入到/etc/ld.so.conf
    ldconfig -v|grep libssl   # 检查是否添加成功

nginx重启出现错误,nginx: [emerg] mkdir() "/var/cache/nginx/client_temp" failed

 ls -l /var/cache/nginx/client_temp#检查该文件夹是否存在和文件夹的权限
 mkdir -p /var/cache/nginx/client_temp #文件夹不存在则生成文件夹
 chown -R www-data:www-data /var/cache/nginx/client_temp # 将文件夹所有者和组改为nginx的运行用户,具体见nginx.conf
上一篇 下一篇

猜你喜欢

热点阅读