重启 php-cgi;重启 php-fpm;平滑重启原理

文章介绍了两种重启PHP-FPM的方法,包括使用管理命令和通过发送信号给主进程。平滑重启主要涉及SIGUSR2信号,用于在不中断服务的情况下更新配置和重载worker进程。SIGINT和SIGTERM快速关闭,SIGQUIT则是优雅关闭,等待当前请求处理完后再停止。SIGHUP用于重读配置,USR1重新打开日志文件,USR2用于在线升级。

重启 php-cgi;重启 php-fpm;平滑重启原理

第一种方式:

启动php-fpm

/usr/local/php/sbin/php-fpm start

注:php-fpm包括其他参数:start|stop|quit|restart|reload|logrotate,如果修改php.ini后不重启php-cgi,重新加载配置文件可使用reload。

如果上述方法无法重启,则采用第二种方法

第二种方式:

找到php-fpm.pid的主进程文件
默认是在/usr/local/php/var/run/下
或/usr/local/php/logs/下

重启php-fpm

kill -USR2 `cat /usr/local/php/var/run/php-fpm.pid`

关闭php-fpm

kill -INT `cat /usr/local/php/var/run/php-fpm.pid`

再重新启动php-fpm或者回自动重启

平滑重启原理

php-fpm master 进程可以理解一下信号:

SIGINT,SIGTERM立刻终止SIGQUIT平滑终止SIGUSR1重新打开日志文件SIGUSR2平滑重载所有worker进程并重新载入配置和二进制模块

命令解释
TERM, INTQuick shutdown
QUITGraceful shutdown 优雅的关闭进程,即等请求结束后再关闭
HUPConfiguration reload ,Start the new worker processes with a new configuration Gracefully shutdown the old worker processes改变配置文件,平滑的重读配置文件
USR1Reopen the log files 重读日志,在日志按月/日分割时有用
USR2Upgrade Executable on the fly 平滑的升级
WINCHGracefully shutdown the worker processes 优雅关闭旧的进程(配合USR2来进行升级)
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值