仔细检查规则后突然想起之前老版本的nginx只编译安装了SSL(http_ssl_module模块),却没有编译安装https(http_v2_module模块)。 所以又开始百度找高手写的文章学习怎么不重装nginx的情况下添加新的http_v2_module模块,让其支持http2 好了下面开始添加方法:
`nginx -V` 然后我们可以看得到这样的信息。1、首选看下编译安装nginx的时候,都编译安装的哪些模块。 nginx version: nginx/1.9.9built by gcc 4.7.2 (Debian 4.7.2-5) built with OpenSSL 1.0.1e 11 Feb 2013TLS SNI support enabledconfigure arguments: --prefix=/usr/local/nginx --user=www --group=www --with-http_ssl_module --with-http_gzip_static_module --without-mail_pop3_module --without-mail_imap_module --without-mail_smtp_module --without-http_uwsgi_module --without-http_scgi_module
仔细看就发现已经安装了http_ssl_module模块,缺少http_v2_module模块; 2、进入之前下载并解压了的源码包目录;重新编译nginx
cd /usr/local/src/nginx-1.8.03、在刚才得到的编译信息后面添加http_v2_module模块
在 ./configure 中加入:--with-http_v2_module ,如果没有 SSL 支持,还需要加入--with-http_ssl_module ./configure --prefix=/usr/local/nginx --user=www --group=www --with-http_ssl_module --with-http_gzip_static_module --without-mail_pop3_module --without-mail_imap_module --without-mail_smtp_module --without-http_uwsgi_module --without-http_scgi_module --with-http_v2_module4、输入命令make进行编译 这一步千万不能 make install ;不然会把之前已经安装的nginx 覆盖掉 5、需要替换nginx二进制文件,先停止掉nginx进程;备份一下原来的启动脚本。 cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.old;cp objs/nginx /usr/local/nginx/sbin/nginx;6、查看nginx的模块,看下是否把需要的模块编译进去了
nginx -V7、最后重新启动nginx
|