一、查看Nginx 的PID文件位置。
使用nginx -V 查看--pid-path=/var/run/nginx.pid
使用rpm或yum安装的,PID文件存在/var/run/下。
二、启动nginx,禁止使用nginx直接启动,需要使用
systemctl start nginx
或者
/usr/sbin/nginx -c /etc/nginx/nginx.config
如果直接使用nginx启动,会走默认的配置文件,在接下的平滑启动中,会报找不文件。
三、使用nginx 的HUB控制nginx。
#USR2生成新master与work进程
kill -USR2 `cat /var/run/nginx.pid`
重新生成nginx 的master进程及work进程,新旧master\work会同时工作,与此同时,在/var/run/会生成一个nginx.pid.oldbin(用于记录旧nginx master PID)
使用 WINCH 平滑停止nginx 旧work进程
kill -WINCH `cat /var/run/nginx.pid.oldbin`
此时nginx 的旧work会优雅停止(旧work不在接受新请求,只会处理之前的请求,处理完成之后就会优雅的停掉),只剩下旧master进程
停掉旧master进程即可
kill -QUIT `cat /var/run/nginx.pid.oldbin`