linux--nginx(二)nginx平滑升级与版本回退

本文详细介绍如何在虚拟机上从nginx-1.14.2升级至1.16.1版本,包括安装依赖、配置编译参数、制作软链接、备份旧版本、替换新版本、重启服务等步骤,以及在遇到问题时如何进行版本回退。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

nginx版本升级

注意: 不要用软链接

新开一台虚拟机:

在虚拟机上安装 nginx-1.14.2.tar.gz版本的nginx

tar zxf  nginx-1.14.2.tar.gz
yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel  #解决依赖性
cd nginx-1.14.2/
./configure --prefix=/usr/local/nginx 
ls     #看有没有makefile
make && make install
cd /usr/local/
ls
如果有nginx那就说明安装成功

在这里插入图片描述

tar zxf  nginx-1.16.1.tar.gz
yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel  #解决依赖性      
cd nginx-1.16.1/
./configure --prefix=/usr/local/nginx 
ls     #看有没有makefile
make   #此处必须要make intall 会覆盖原来的文件,造成错误

复制老版本文件,为了回退做准备
将新版本安装文件拷贝到/usr/local/nginx/sbin/下
在这里插入图片描述

kill -USR2 4830(PID)   开启新的进程 有新的工作人员
kill -WINCH 4830 (PID)  将老进程里的员工清退

在这里插入图片描述版本升级完成

在这里插入图片描述

版本回退

让老版本文件覆盖新版本升级文件
在这里插入图片描述

kill -HUP 4830   唤醒老进程  立马工作
kill -USR2 7370    让新进程停手
kill -WINCH 7370   让新员工停工

在这里插入图片描述

版本回退成功
在这里插入图片描述

### 如何在 Nginx 中回滚到删除表之前的状态或版本 对于Nginx本身而言,其并不直接管理数据库中的表格操作;因此,在Nginx环境中讨论“恢复被删除的表格”实际上涉及到的是应用层面上的数据管理和备份策略,而非Nginx配置或版本控制的问题。 然而,假设这里所指的内容是在Web应用程序上下文中执行的操作(例如通过PHP脚本或其他服务器端技术),而这些更改影响到了由Nginx提供服务的应用行为,则可以通过调整部署流程来间接处理这个问题。具体来说: #### 使用 Git 进行代码库版本管理 当开发团队采用Git作为源码控制系统时,可以利用`git reset --soft`命令来回退到特定的历史提交点[^3]。这允许开发者撤销最近的一次或多此提交而不改变工作目录中的文件内容,从而保留了对文件所做的修改以便进一步评估或重新提交。 ```bash # 假设已知要回到的目标哈希值为 abcdefg git reset --soft abcdefg ``` #### 平滑升级降级 Nginx 版本 为了确保最小化停机时间和服务中断的风险,在生产环境中通常建议采取平滑的方式来进行软件更新或回滚。针对Nginx实例,可通过向旧版Nginx master进程发送HUP信号完成热加载新配置或是切换至先前稳定版本继续运行[^2]。 ```bash kill -HUP $(cat /var/run/nginx.pid) ``` 需要注意的是,上述方法适用于因Nginx本身的变更引起的服务异常情况下的快速响应措施,并不涉及底层数据层面的具体修复动作。对于实际存在的数据库对象丢失问题,应当依赖于事先建立起来的数据保护机制——比如定期全量备份以及增量日志保存等手段加以解决。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值