- 认识平滑升级
有时候我们需要对Nginx版本进行升级以满足运维人员对其功能的需求,例如添加xxx模块,需要xxx功能,而此时Nginx又在跑着业务无法停掉,这时我们就只能平滑升级了。
- 平滑升级原理
Nginx服务接收到USR2信号后,将Nginx.pid文件添加.oldbin变成nginx.pid.oldbin文件;然后执行新版本Nginx服务器的二进制文件启动服务,如果新的服务启动成功,系统中将有新旧两个Nginx主进程共同提供Web服务,之后,需要向旧的Nginx服务进程发送WINCH信号,使旧的Nginx服务平滑停止,并删除Nginx.pid.oldbin文件。
- 升级方法
#安装包解压
tar -zxvf nginx-1.18.0.tar.gz
#进入到nginx解压后的包
cd nginx-1.18.0
#停止nginx
service nginx stop
#使用脚本配置工具
./configure --prefix=/home/soft/nginx
#只编译
make
#备份nginx
cp /home/soft/nginx/sbin/nginx /home/soft/nginx/sbin/nginx.old
#将安装包中编译好的nginx,更新到nginx安装目录中
mv nginx-1.18.0/sbin/nginx /usr/local/nginx/sbin/
#查看更新后的版本
cd /home/soft/nginx/sbin/nginx
./nginx -v
#后续常启动即可