在上线新功能的时候,需要将服务器停掉,防止在更新过程中有用户进行操作额外的数据。
1:查看nginx主进程:
$ ps -ef | grep nginx
1 -----> 是主进程,2,3,4都是子进程。
这里root 后面的数字表示:主进程号
nginx后面的数字表示:子进程号
然后停止nginx服务的时候
第一:
$ systemctl stop nginx
发现并没有完全停止nginx服务器。
然后就想到了kill命令:
从容停止Nginx:
$ kill -QUIT 主进程号
例如:kill -QUIT 16391
这种方式相对来说会有一个停止的过程,先将子进程停止掉,然后再停掉主进程。
快速停止Nginx:
$ kill -TERM 主进程号
这种会比上面那种方法速度快些。
强制停止Nginx:
$ kill -9 主进程号
这种方式是最后的方法,强制停止。
在启动nginx的时候,一般会用 平滑启动
$ kill -HUP 住进称号或进程号文件路径
或者
$ /usr/nginx/sbin/nginx -s reload
我使用的是:
$ systemctl start nginx
启动的过程区别不大。