两周前(2015-09-22),Nginx 官方发布消息 1.9.5开始支持HTTP2 https://www.nginx.com/blog/nginx-1-9-5/
喜欢折腾, 也把我的小博客站点启用了HTTP2, 记录一下

安装步骤

  1. 下载Nginx 1.9.5源码 http://nginx.org/download/nginx-1.9.5.tar.gz
  2. 解压并进入 nginx-1.9.5
  3. 配置, (如果忘记之前的配置参数, 可以使用 /usr/local/nginx/sbin/nginx -V 查看一下当时的配置参数) 需要至少启用 –with-http_v2_module 和 –with-http_ssl_module 这两个模块, 如果之前启用了 –with-http_spdy_module 模块则需要去掉这个模块
  4. 接下来就是 makemake install
  5. 在站点配置文件中启用http2
1
2
3
4
5
6
wget http://nginx.org/download/nginx-1.9.5.tar.gz
tar xzf nginx-1.9.5.tar.gz
cd nginx-1.9.5
./configure --with-http_v2_module --with-http_ssl_module
make
make install

在站点配置文件的 listen 443 ssl 加上 http2, 最后重启nginx
重启没出错的话就是成功启用了。

备注

搭建LAMP的时候使用了 oneinstack 一键安装包 , 获取到当时的配置参数是

1
2
3
4
5
6
[root@cenos nginx-1.9.5]# /usr/local/nginx/sbin/nginx -V
nginx version: nginx/1.9.4
built by gcc 4.4.7 20120313 (Red Hat 4.4.7-16) (GCC)
built with OpenSSL 1.0.1e-fips 11 Feb 2013
TLS SNI support enabled
configure arguments: --prefix=/usr/local/nginx --user=www --group=www --with-http_stub_status_module --with-http_ssl_module --with-ipv6 --with-http_gzip_static_module --with-http_realip_module --with-http_flv_module --with-ld-opt='-ljemalloc'

因此,配置时,只需要在原来的基础上加上 –with-http_v2_module 即可, 如下

1
2
3
./configure --prefix=/usr/local/nginx --user=www --group=www --with-http_stub_status_module --with-http_v2_module --with-http_ssl_module --with-ipv6 --with-http_gzip_static_module --with-http_realip_module --with-http_flv_module --with-ld-opt='-ljemalloc'
make
make install