/ 生活记录 / 9浏览

lnmp升级nginx支持http2

随着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.

开心~哈哈

更新于
guest
16 评论
Inline Feedbacks
View all comments
黑暗游侠
8 年 之前

推荐换成oneinstack环境

半山马
8 年 之前

老何这博客运营成本不少哦,阿里云ECS哦,话说我一直用88大洋的虚拟主机也感觉够够的^_^

Kay
Kay
8 年 之前
Reply to  Mr.He

我记得你之前用的是腾讯云吧

老杨
8 年 之前

网页端怎么看是不是 http2? TLS 1.2?阿里云光跑 TP 好像有点浪费,哈哈。

钛客志
8 年 之前

虚拟主机能不能支持HTTP2?

何先生
8 年 之前

我都换成宝塔的环境了,比军哥的还简单,更新也快,

掩耳
8 年 之前

我果断时间也上全站SSL!

星球彦
7 年 之前

HTTP2的作用是不是增加了加密?作用大么