nginx平滑升级
1. 下载nginx包
wget https://nginx.org/download/nginx-1.24.0.tar.gz
2. 查看旧nginx安装的模块
nginx -V
将现有模块记录一下
3. 编译新nginx文件
tar xvf nginx-1.24.0.tar.gz
cd nginx-1.24.0
./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module --with-http_ssl_module
make
注意: 千万不要make install,会出事故
4. 将替换nginx二进制文件
mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx_old_1.18.bak
mv nginx-1.24.0/objs/nginx /usr/local/nginx/sbin/
4. 给nginx发送平滑迁移信号
若不清楚Nginx.pid的路径,可查看nginx配置文件,里面有对应的路径。
kill -USR2 `cat /usr/local/nginx/logs/nginx.pid`
查看nginx pid,会出现一个nginx.pid.oldbin
即在补停掉老进程的情况下启动新进程
5. 从容关闭旧的Nginx进程
kill -WINCH `cat /usr/local/nginx/logs/nginx.pid.oldbin`
6. 结束工作进程,完成此次升级
kill -QUIT `cat /usr/local/nginx/logs/nginx.pid.oldbin`
7. 验证Nginx是否升级成功
/usr/local/nginx/sbin/nginx -V