Nginx版本升级

问题描述:运维安全人员扫出服务器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
插件安装
问题解决

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值