nginx不停服务升级是通过信号控制完成的。
nginx信号控制使用的几个选项
信号 | 含义 |
TERM、INT | 快速关闭进程 |
QUIT | 优雅的关闭进程,即等请求结束之后再关闭 |
HUP | 改变配置文件之后、平滑的重读配置文件 |
USR1 | 切割日志 |
USR2 | Nginx平滑的升级 |
WINCH | 优雅的关闭旧进程,配合USR2进行升级 |
如何通过信号控制nginx,命令格式如下:
kill -[ TERM | INT | QUIT | HUP | USR1 | USR2 | WINCH ] pid(nginx进程编号)
pid可以通过sudo cat `sudo find / -name nginx.pid`或者sudo ps -ef|grep nginx|grep master查看
nginx的信号控制是通过kill来实现的。其实kill就有相应的信号,通过 kill -l 可以查看所有信号:
其中SIGUSR1,SIGUSR2属用户自定义信号,不同应用可以