Nginx 平滑升级
来自Linux78|wiki
/usr/local/nginx/sbin/nginx -V #注意是大写的V
下载新版本解压下载好的文件,并进入文件夹进行编译(只编译不安装)
.configure .. make
备份旧版本的nginx的执行程序
mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.old ```替换旧的Nginx的执行程序 ```shell cp objs/nginx /usr/local/nginx/sbin/ cd /usr/local/nginx/sbin/ ls nginx nginx.old nginx.old
发送USR2信号给旧版本主进程号,使nginx的旧版本停止接收请求,用nginx新版本接替,且老进程处理完所有请求,关闭所有连接后,停止
cd .. cd logs/ ls nginx.pid kill -USR2 `cat /usr/local/nginx/logs/nginx.pid`
查看nginx pid目录,多了个nginx.pid.oldbin文件,存放了旧版本nginx的pid号
ls nginx.pid nginx.pid.oldbin
查看服务运行状态
netstat -aupt | grep nginx tcp 0 0 *:http *:* LISTEN 793/nginx
从容关闭旧进程
kill -QUIT `cat nginx.pid.oldbin` ls access.log error.log nginx.pid