概述
问题描述:运维安全人员扫出服务器nginx信息披露风险需要升级nginx
一。注意事项
1.Nginx升级,需要备份之前安装的Nginx配置文件等 (防止出现意外)将之前的nginx安装路径的打成tar包 换到安全路径存储,防止安装过程中目录被覆盖
2.Nginx升级过程中不能直接install会覆盖之前的配置文件(不能直接 make && make install)
3。将Nginx1.16.1进行参数配置和编译,不需要进行安装。
二。升级流程
1.下载(http://nginx.org/en/download.html)linux下载 Stable version 下面的 nginx-1.22.1 pgp这种类型的
2.//解压
tar -xvf nginx-1.17.5.tar.gz
3.nginx配置编译
//进入新版本目录
cd nginx-1.17.5
4.//执行配置
./configure
5.//执行编译(只编译不安装)
make
6.备份旧版本,复制新版本
//备份旧版本文件
mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.old
7.//复制新版本文件
cp nginx-1.17.5/objs/nginx /usr/local/nginx/sbin/
8.重启nginx
//测试新版本nginx配置是否正常
nginx -t
9.//验证nginx是否升级成功
nginx -V
10.//关掉nginx所有进程
killall nginx
11.//重启nginx
./nginx
三。遇到的问题
编译过程缺少ngx_http_substitutions_filter_module 重启过程中出现报错conf某一行找不到
configuring additional modules
adding module in /git/ngx_http_substitutions_filter_module/
./configure: error: no /git/ngx_http_substitutions_filter_module//config was found
四。解决办法
(1)排查发现并未有配置文件格式错误
(2)缺少插件==>安装相关插件依赖
Nginx编译安装第三方模块http_substitutions_filter_module
1、下载模块源码包并解压,最后列出目录位置备用
//服务器有外网可以直接拉取
[root@MyServer ~]# wget -O ngx_http_substitutions_filter_module-master.zip https://github.com/yaoweibin/ngx_http_substitutions_filter_module/archive/master.zip
//服务器无外网
github手动下载地址:https://github.com/yaoweibin/ngx_http_substitutions_filter_module/
[root@MyServer ~]# unzip ngx_http_substitutions_filter_module-master.zip
[root@MyServer ~]# cd ngx_http_substitutions_filter_module-master;pwd
/root/ngx_http_substitutions_filter_module-master
2、在服务器上执行 nginx -V 查看当前 Nginx 编译参数,比如:
[root@MyServer ~]# /usr/local/nginx/sbin/nginx -V
Tengine version: Tengine/2.1.2 (nginx/1.6.2)
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-4) (GCC)
TLS SNI support enabled
configure arguments: --prefix=/usr/local/nginx --with-http_v2_module --with-http_ssl_module --with-http_gzip_static_module --with-http_realip_module --add-module=../ngx_cache_purge-2.3 --with-http_sub_module
3.加上模块参数,重新编译Nginx
找到服务器上原来安装时留下的 Nginx 源码目录(如果没有请重新下载并解压,此处不赘述),进入目录后,在第②步中的参数基础上新增集成替换模块(请注意前面需要加上 ./configure ):
./configure [+原有参数+] --add-module=/root/ngx_http_substitutions_filter_module-master/
./configure --prefix=/usr/local/nginx --with-http_v2_module --with-http_ssl_module --with-http_gzip_static_module --with-http_realip_module --with-http_sub_module --add-module=/root/ngx_http_substitutions_filter_module-master/
此处折腾完了可以去执行 (二。升级流程的第五步)
nginx -v
不报错
问题解决
文档相关参考地址(侵删)
安装流程1
安装流程2
插件安装
问题解决
最后
以上就是酷酷方盒为你收集整理的Nginx版本升级的全部内容,希望文章能够帮你解决Nginx版本升级所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复