旨在说明版本升级流程步骤,测试环境为nginx1.11.1升级至1.22.0稳定版本,目的是解决Nginx<=1.21.5下的0day LDAP RCE 漏洞情报。
备份
安装路径目录不大的话可以直接备份整个目录,或者剔除日志文件不备份。
1 | [root@localhost nginxHome]# tar -zcvf nginx1.11.1.tar-gz nginx1.11.1/ |
查看原有的 nginx 编译参数
到nginx安装目录下,通过nginx -V命令检查原有的 nginx 编译参数,即configure arguments的配置内容
1 | [root@localhost sbin]# ./nginx -V |
对新版本的源码包进行编译
解压新版本的源码包,通过上述检查原有的编译参数(–prefix=/home/oneapm/nginxHome/nginx1.11.1)对新版本源码包进行编译
1 | [root@localhost nginx-1.22.0]# ./configure --prefix=/home/oneapm/nginxHome/nginx1.11.1 |
特别说明:
make完之后就不要再make install,没有必要,如果make install,但–prefix又没改路径,那就gg了,覆盖了原来的安装环境,所以备份也很重要
停止nginx进程
不停止正在运行的nginx进程在下一步做二进制文件覆盖的时候会报错***/sbin/nginx’: Text file busy
1 | ./nginx -s stop |
Tips:
提前检查好自己当前使用的那个配置文件,别停了启动的时候就不晓得配置文件是哪个了
复制新的nginx源码包中二进制文件,覆盖原来的文件
1 | [root@localhost nginx-1.22.0]# cp -p /opt/nginx-1.22.0/objs/nginx /home/oneapm/nginxHome/nginx1.11.1/sbin/ |
启动nginx服务
-c选项指定配置文件启动nginx服务
1 | ./nginx -c /home/oneapm/nginxHome/nginx1.11.1/conf/nginx.conf |
验证nginx升级是否成功
检查版本并测试配置是否正常
1 | [root@localhost sbin]# ./nginx -V |