已经编译安装了的nginx添加http_ssl_module和http_v2_module模块方法
昨天给AMH4.2升级nginx后,想要使网站使用https,支持SSL和HTTP2,今天给网站配置nginx规则的时候,重启nginx却失效。
仔细检查规则后突然想起之前老版本的nginx只编译安装了SSL(http_ssl_module模块),却没有编译安装https(http_v2_module模块)。
所以又开始百度找高手写的文章学习怎么不重装nginx的情况下添加新的http_v2_module模块,让其支持http2
好了下面开始添加方法:`nginx -V` 然后我们可以看得到这样的信息。
1、首选看下编译安装nginx的时候,都编译安装的哪些模块。
nginx version: nginx/1.9.9 built by gcc 4.7.2 (Debian 4.7.2-5) built with OpenSSL 1.0.1e 11 Feb 2013 TLS SNI support enabled configure 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_module
4、输入命令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
341634661 回复含违规内容 只看该作者 举报
341634661
FG
DGF