我是靠谱客的博主 酷酷方盒,最近开发中收集的这篇文章主要介绍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
插件安装
问题解决

最后

以上就是酷酷方盒为你收集整理的Nginx版本升级的全部内容,希望文章能够帮你解决Nginx版本升级所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(67)

评论列表共有 0 条评论

立即
投稿
返回
顶部