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.

开心~哈哈

评论 ( 16 )
隐私评论
  1. 2017-11-23广东省珠海市回复
    HTTP2的作用是不是增加了加密?作用大么
    1. 2017-11-23安徽省回复
      @星球彦
      加密传输,防止网址被劫持。
  2. 2017-03-19浙江省台州市回复
    我果断时间也上全站SSL!
    1. 2017-03-20安徽省回复
      @掩耳
      挺方便的,看着小绿锁,觉得逼格又高了一层...
  3. 2017-03-02四川省成都市回复
    我都换成宝塔的环境了,比军哥的还简单,更新也快,
    1. 2017-03-03安徽省回复
      @何先生
      宝塔我也用过,可视环境不错,好像耗资源多一点,我是阿里云低配
  4. 2017-02-28广东省惠州市回复
    虚拟主机能不能支持HTTP2?
    1. 2017-02-28安徽省回复
      @钛客志
      有些支持,这个你问一下服务商。
  5. 2017-02-25广东省肇庆市回复
    网页端怎么看是不是 http2? TLS 1.2?阿里云光跑 TP 好像有点浪费,哈哈。
    1. 2017-02-26安徽省安庆市回复
      @老杨
      在chrome浏览器输入chrome://net-internals/#http2
      火狐浏览器添加插件HTTP/2 and SPDY indicator
      就能看到是不是http2了
  6. 2017-02-24广东省东莞市回复
    老何这博客运营成本不少哦,阿里云ECS哦,话说我一直用88大洋的虚拟主机也感觉够够的^_^
    1. 2017-02-26安徽省安庆市回复
      @半山马
      只要稳定,什么都可以
      1. 2017-03-02上海市回复
        @Mr.He
        我记得你之前用的是腾讯云吧
        1. 2017-03-02安徽省回复
          @Kay
          没有,腾讯云一直没有用过
  7. 2017-02-24陕西省商洛市回复
    推荐换成oneinstack环境
    1. 2017-02-26安徽省安庆市回复
      @黑暗游侠
      刚才看了一下,差不多的东西吧,年龄大了,再学习成本较高,哈哈