lnmp升级nginx支持http2
348
16
随着chorme和firefox的更新,网址前面加上https显得格外重要,于是就申请了证书,上了https,不过让老何一直耿耿于怀的是,不支持http2,在conf上配置之后,会提示错误,只能使用https 1.1
本着折腾的精神,使劲搜索资料,终于折腾成功,下面把过程简单说一下。
老何博客是建立在阿里云的ecs上,系统是centos 6.8 32位,网站的集成运行环境是lnmp 1.3.
根据资料,http2需要nginx 1.9.7以上的版本,openssl需要1.0.2版。
升级nginx的过程很简单,一条命令就可以搞定,./upgrade.sh nginx,输入最新版本1.11.10,回车,很顺利地升级了。
openssl是系统自身有的,centos只有1.0.1e,升级时也找了好多教程,最后升级成1.0.2g,本想就能上h2了,但是nginx却无法启动。好在阿里云有快照功能,否则真是惨了。(此原因应该是openssl的lib没有和nginx挂载,导致nginx无法重启,但是有不知道如何去解决。)
回滚到最近的版本,逐一试验,一旦升级openss,nginx就重启不了。事情进入了死胡同。
再次疯狂搜索,发现有一个重要提示:
如果你用的是其他环境可以自己去 https://www.openssl.org/source/ 下载openssl
1.0.2版本的源码,在nginx编译时加上--with-openssl=openssl解压后的源码目录。
于是下载并解压openss 1.0.2,在编译参数后面加上--with-openssl=/root/openssl1.0.2g,再次编译nginx,发现版本号仍然是1.0.1e,无语,军哥(lnmp作者)给出答案是,此编译只影响nginx,并不影响系统的openssl版本,重新配置conf文件,重启nginx,终于提示用上了http2.
开心~哈哈
火狐浏览器添加插件HTTP/2 and SPDY indicator
就能看到是不是http2了