zoukankan      html  css  js  c++  java
  • CentOS 7配置nginx-1.13.10支持http/2和Server Push

    0、确保openssl版本大于1.0.2

    openssl version

    1、下载nginx-1.13.10

    wget http://nginx.org/download/nginx-1.13.10.tar.gz
    tar zxf nginx-1.13.10.tar.gz
    cd nginx-1.13.10

    2、确认并安装gcc等编译组件

    yum groupinstall "Development Tools" 
    yum install pcre* openssl* gd-devel* zlib-devel pcre-devel libpcre3 libpcre3-dev zlib1g-dev unzip git

    3、配置编译参数

    ./configure --user=nginx --group=nginx --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_v2_module --with-http_gzip_static_module --with-http_sub_module

    配置正常输出如下内容:

    Configuration summary
      + using system PCRE library
      + using system OpenSSL library
      + using system zlib library
    
      nginx path prefix: "/usr/local/nginx"
      nginx binary file: "/usr/local/nginx/sbin/nginx"
      nginx modules path: "/usr/local/nginx/modules"
      nginx configuration prefix: "/usr/local/nginx/conf"
      nginx configuration file: "/usr/local/nginx/conf/nginx.conf"
      nginx pid file: "/usr/local/nginx/logs/nginx.pid"
      nginx error log file: "/usr/local/nginx/logs/error.log"
      nginx http access log file: "/usr/local/nginx/logs/access.log"
      nginx http client request body temporary files: "client_body_temp"
      nginx http proxy temporary files: "proxy_temp"
      nginx http fastcgi temporary files: "fastcgi_temp"
      nginx http uwsgi temporary files: "uwsgi_temp"
      nginx http scgi temporary files: "scgi_temp"

    4、编译

    make

    5、安装

    make install
    ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/nginx

    6、nginx配置参考(server配置段)

    server {
            listen       443 ssl http2 default_server;
            server_name  _;
            root         /usr/local/nginx/html;
    
            ssl_certificate "/usr/local/nginx/conf/server.crt";
            ssl_certificate_key "/usr/local/nginx/conf/server.key";
            ssl_session_cache shared:SSL:1m;
            ssl_session_timeout  10m;
            ssl_ciphers HIGH:!aNULL:!MD5;
            ssl_prefer_server_ciphers on;
    
    
            location /index.html {
                http2_push_preload on;
                http2_push /image.jpg;
            }
    
            error_page 404 /404.html;
                location = /40x.html {
            }
    
            error_page 500 502 503 504 /50x.html;
                location = /50x.html {
            }
        }

    7、准备证书与密钥文件(server.crt/server.key)

    8、检查并重启nginx

    nginx -t
    nginx -s reload

    9、用chrome访问配置好的页面

    并在chrome地址栏输入

    chrome://net-internals/#http2

    可以看到对应站点的http/2的session

    【参考资料】

    https://www.nginx.com/blog/nginx-1-13-9-http2-server-push/

  • 相关阅读:
    iPhone控件之UIDatePicker
    iPhone控件之UIActionSheet
    iPhone控件之UIActivityView
    iPhone控件之UIPickerView2
    RTP/RTCP协议详解
    ASIHTTPRequest详解[转载]
    iPhone控件之UIProgressView
    iPhone控件之UIPageControl
    iPhone控件之UISegmentedControl
    使用AsyncSocket实现RTSP协议
  • 原文地址:https://www.cnblogs.com/imzye/p/8638842.html
Copyright © 2011-2022 走看看