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.

开心~哈哈

16 条

  1. 黑暗游侠

    推荐换成oneinstack环境

    1. Mr.He

      @黑暗游侠刚才看了一下,差不多的东西吧,年龄大了,再学习成本较高,哈哈

  2. 半山马

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

    1. Mr.He

      @半山马只要稳定,什么都可以

    2. Kay

      @Mr.He我记得你之前用的是腾讯云吧

    3. Mr.He

      @Kay没有,腾讯云一直没有用过

  3. 老杨

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

    1. Mr.He

      @老杨在chrome浏览器输入chrome://net-internals/#http2
      火狐浏览器添加插件HTTP/2 and SPDY indicator
      就能看到是不是http2了

  4. 钛客志

    虚拟主机能不能支持HTTP2?

    1. Mr.He

      @钛客志有些支持,这个你问一下服务商。

  5. 何先生

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

    1. Mr.He

      @何先生宝塔我也用过,可视环境不错,好像耗资源多一点,我是阿里云低配

  6. 掩耳

    我果断时间也上全站SSL!

    1. Mr.He

      @掩耳挺方便的,看着小绿锁,觉得逼格又高了一层…

  7. 星球彦

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

    1. Mr.He

      @星球彦加密传输,防止网址被劫持。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注