网络安全实战nginx漏洞版本升级 1.28.0到1.30.0

下载版本地址:https://nginx.org/en/download.html

系统环境:ubuntu 24.04

一、下载并编译新版nginx

1.下载nginx1.30.0

wget https://nginx.org/download/nginx-1.30.0.tar.gz

2.解压

tar -zxvf nginx-1.30.0.tar.gz

3.移动到/usr/local目录(个人习惯也可以略过此步骤)

mv nginx-1.30.0 /usr/local/

4.先确定一下当前版本xinx

cd /usr/local/nginx/sbin/

./nginx -v

显示nginx version: nginx/1.28.0

5.编译新版本

cd /usr/local/nginx-1.30.0

./configure

继续执行make命令

执行成功以后,回在当前目录产生一个objs目录

注意事项:

编译产生物理路径:nginx/objs/nginx

禁止执行 make install 防止覆盖现有配置

出现 ./configure:error 需要检查缺失的依赖库

二、替换可执行文件,平滑升级

1.替换可执行文件

备份旧版本方便报错回滚

cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak

备份配置文件(可选)

cp -r /usr/local/nginx/conf /usr/local/nginx/conf.bak

将新编译的objs/nginx 复制到旧版本安装目录中

cp objs/nginx /usr/local/nginx/sbin/

注意此时操作会提示 cp: cannot create regular file '/usr/local/nginx/sbin/nginx': Text file busy 。表面正在被运行的nginx进程占用。 需要先通过nginx平滑升级流程 处理旧进程,确保替换二进制文件时不会冲突。

2.进行平滑升级处理

获取旧版本nginx 主进程PID

cat /usr/local/nginx/logs/nginx.pid

发送USR2 信号启动新版本的master进程

kill -USR2 449621

此时,nginx 会启动新的master进程,并加载新版本配置文件,旧版本master进程仍然在运行,但新的master进程已经启动。

替换二进制文件

mv objs/nginx /usr/local/nginx/sbin/

关闭旧版本进程

发送winch信号,逐步关闭旧版本worker进程

kill -WINCH 449621

检查进程状态

ps -ef |grep nginx

此时旧的会话被新的nginx进程替代,在检查新nginx 不影响业务之后,就可以完全停止旧进程了

完全关闭旧版本master进程

kill -QUIT 449621

检查新版本是否运行

验证版本信息

/usr/local/nginx/sbin/nginx -v

回滚方案(如升级失败)

恢复备份文件

cp /usr/local/nginx/sbin/nginx.bak /usr/local/nginx/sbin/nginx

重启旧版本进程

kill -QUIT $(cat /usr/local/nginx/logs/nginx.pid)

启动旧版本nginx

/usr/local/nginx/sbin/nginx

相关推荐
zhongerzixunshi15 小时前
落实等保要求,筑牢信息系统安全防线
安全
长不大的杨瑞杰1 天前
OpenCode v2 会话可靠性实战:Snapshots、Compaction、Instructions 与 Formatters
人工智能·安全·云计算·软件工程·devops
陆圣杰1 天前
代码分享之前,先用假数据练一次凭据检查
安全
Angeldream1231 天前
第 10 章 医学影像伦理与安全
图像处理·人工智能·python·安全·机器学习·医学影像
方白羽1 天前
Android 双开环境底层剖析与风控检测落地
android·安全·app
pt10431 天前
Cisco设备网络安全系列-18:SIEM与SOAR安全解决方案
网络·安全
yyuuuzz1 天前
云服务器安全组规则优先级的机制记录
运维·服务器·网络·安全·阿里云·aws
福大大架构师每日一题1 天前
redis 8.10.3正式发布:聚焦集群总线超大消息传播场景的安全修复,8.10.3 Latest更新解读
数据库·redis·安全
Linux运维技术栈1 天前
WAF部署在防火墙后面,获取不到真实IP怎么办?
服务器·网络·tcp/ip·安全·防火墙·waf
是真的小外套1 天前
网络安全实战第6期:Hydra爆破SSH实战
安全·web安全·ssh