nginx和php-fpm对于-USR2、-HUP信号的处理方式不一样:
- TERM, INT(快速退出,当前的请求不执行完成就退出)
- QUIT (优雅退出,执行完当前的请求后退出)
- HUP (重新加载配置文件,用新的配置文件启动新worker进程,并优雅的关闭旧的worker进程, 用于nginx的加载新配置,不能用于php-fpm加载新配置)
- USR1 (重新打开日志文件)
- USR2 (平滑的升级nginx二进制文件/平滑加载php-fpm新配置)
- WINCH (优雅的关闭worker进程)
php-fpm
#关闭
kill -QUIT $php_fpm_pid
#平滑重载配置
kill -USR2 $php_fpm_pid
#强制关闭
kill -TERM $php_fpm_pid
nginx
#关闭
kill -QUIT $nginx_pid
#平滑重载配置
kill -HUP $nginx_pid