nginx信号量控制命令

参考文献: https://blog.csdn.net/liwenbo_csu/article/details/76503331

概述:使用信号量控制nginx,主进程的ID默认在 /usr/local/nginx/logs/nginx.pid,这个可以在配置文件中进行修改。

一、主进程支持以下信号量的控制:

信号量 用处
TERM, INT 快速强制关闭worker进程主进程退出
QUIT 优美的关闭worker进程后主进程退出
HUP 修改配置信息,平滑关闭worker进程,启动新的worker进程
USR1 重新打开日志文件
USR2 升级可执行文件
WINCH 优美的关闭worker进程

二、子进程支持以下信号量的控制:

信号量 用处
TERM, INT 快速强制关闭worker进程
QUIT 优美的关闭worker进程
USR1 重新打开日志文件
WINCH 调试信号量abnormal termination for debugging (requires debug_points to be enabled)

三、使用nginx信号量例子:

quit-退出:

dev@dev-VirtualBox ~ $ cat /run/nginx.pid 
6353
dev@dev-VirtualBox ~ $ ps -ef |grep nginx
root      6353     1  0 13:05 ?        00:00:00 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
dev       6354  6353  0 13:05 ?        00:00:00 nginx: worker process
dev       8242  3811  0 14:29 pts/5    00:00:00 grep --color=auto nginx
dev@dev-VirtualBox ~ $ cat /run/nginx.pid 
6353
dev@dev-VirtualBox ~ $ kill -QUIT  6353
bash: kill: (6353) - 不允许的操作
dev@dev-VirtualBox ~ $ sudo kill -QUIT  6353
[sudo] dev 的密码: 
dev@dev-VirtualBox ~ $ ps -ef |grep nginx
dev       8290  3811  0 14:30 pts/5    00:00:00 grep --color=auto nginx
dev@dev-VirtualBox ~ $ 

hup-平滑重启:

dev@dev-VirtualBox ~ $ cat /run/nginx.pid 
8352
dev@dev-VirtualBox ~ $ ps -ef |grep nginx
root      8352     1  0 14:31 ?        00:00:00 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
dev       8353  8352  0 14:31 ?        00:00:00 nginx: worker process
dev       8366  3811  0 14:31 pts/5    00:00:00 grep --color=auto nginx
dev@dev-VirtualBox ~ $ sudo kill -HUP 8352
dev@dev-VirtualBox ~ $ ps -ef |grep nginx
root      8352     1  0 14:31 ?        00:00:00 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
dev       8374  8352  0 14:32 ?        00:00:00 nginx: worker process
dev       8382  3811  0 14:32 pts/5    00:00:00 grep --color=auto nginx
dev@dev-VirtualBox ~ $ 

你可能感兴趣的:(nginx信号量控制命令)