nginx系列(十四)nginx下支持http/2.0

简介
http/2.0是http/1.1的升级版,简称h2,主要应用于https。和html的h5简称不在一个维度上。而http://继续使用http1协议.

注意:本实验中,不要使用 "nginx -s reload" 命令,重启不生效。而是要使用"nginx -s stop"之后再启动"nginx",配置文件才会生效。


1.安装nginx(ssl、http2模块)
nginx1.9.5开始正式支持http2。下载就不说了,直接安装。
centos安装依赖
yum -y install make gcc zlib zlib-devel openssl openssl-devel pcre pcre-devel
ubuntu安装依赖
apt-get install openssl libssl-dev gcc++ zlib1g-dev libpcre3-dev

其中openssl模块也可以自定义安装,--with-openssl=/root/openssl-1.0.0可以自定义制定openssl的安装位置。我们采用系统的openssl。

解压以后(configure的几个参数是关键,支持http2和ssl),还是三步走:configure,make,make install
./configure --prefix=/opt/nginx/nginx-1.9.5 --with-http_ssl_module --with-http_v2_module
make -j4
make install -j4


2.生成ssl证书(也可以用收费的)
生成证书,第一步生成的时候要输入密码,自己记住即可,后续步骤,包括重启都要使用。
#openssl genrsa -des3 -out server.key 1024
#openssl req -new -key server.key -out server.csr
#openssl rsa -in server.key -out server_nopwd.key
#openssl x509 -req -days 365 -in server.csr -signkey server_nopwd.key -out server.crt
同时拷贝证书到 conf/ssl目录下

配置文件,新增一个server节点,端口443
    server {
        listen 443 ssl default_server;
        server_name localhost;
ssl_certificate ssl/server.crt;
ssl_certificate_key ssl/server.key;
        #ssl_session_timeout     5m;

        location = /_.gif {
            empty_gif;
        }

        location / {
            root   html;
            index  index.html index.htm;
        }
    }


3.配置http2
就是在listen后面多了个http2,非常简单
    server {
        listen 443 http2 ssl default_server;
        server_name localhost;
ssl_certificate ssl/server.crt;
ssl_certificate_key ssl/server.key;
        #ssl_session_timeout     5m;

        location = /_.gif {
            empty_gif;
        }

        location / {
            root   html;
            index  index.html index.htm;
        }
    }

至此完成安装。如何调试,请查看另外一篇文章。
http://phl.iteye.com/blog/2251698
附录是配置好的nginx,参考55到70行,里面有证书,密码是:suning
安装完openssl,大家懒得生成,可以使用我这个弄好的证书。

参考文章
http2.0 有什么优势
http://mp.weixin.qq.com/s?__biz=MzA4Nzc4MjI4MQ==&mid=400294305&idx=1&sn=3522a64dd5324157cd79dfa7b5a137bd&scene=1&srcid=1031s4TdcYGuJHgWWDCOPzOW&uin=MTEzMDMwMjY0MA%3D%3D&key=04dce534b3b035efbf638e0410544ea936a5ea38b3638ca1d391b6d225230b9040fdfba6f86cb56b7eeef92867c5b322&devicetype=Windows+7&version=61050016&lang=zh_CN&pass_ticket=KTHjUNKdhwv24SoxQ6ehh9BdwI21AwUYNboMxRoPw1pK4ljg5S8q3uLy51C9s8Px
http2.0协议文档
http://www.oschina.net/question/1397765_172789
http/2.0介绍
http://baike.baidu.com/link?url=rKP8zl9hDDkgN9rAN0tGknE3Gq40tAHX7QbMeAN4P5BYaE-K7slaAWw9paV-aYC8oo_9xhnqlVxlcyTr5_mEW_
nginx官方网站
http://nginx.org/
nginx安装证书
http://www.cnblogs.com/tintin1926/archive/2012/07/12/2587311.html
nginx1.9.5配置http2
http://tech.huanqiu.com/news/2015-09/7670017.html


你可能感兴趣的:(nginx系列(十四)nginx下支持http/2.0)