美文网首页
PHP 平滑重启原理

PHP 平滑重启原理

作者: 莴牛 | 来源:发表于2021-09-14 16:20 被阅读0次

重启命令

// 命令
systemctl reload php-fpm

// 原理
/bin/kill -USR2 主进程id

配置php.conf

[global]
pid = run/php7-fpm.pid
error_log = /data/logs/php/php7-fpm.err
log_level = notice
// 增加以下配置
process_control_timeout = 10

process_control_timeout是留给子进程处理来自master进程信号的时间限制。

master进程根据接收到的信号以及当前的php-fpm运行状态决定发送给worker进程的是SIGQUIT还是SIGTERM,同时注册时间为process_control_timeout的定时时间,
如果在process_control_timeout时间内子进程没退出,master就会升级信号,SIHQUIT->SIGTERM,SIGTERM->SIGKILL,当信号为SIGTERM时还会注册1s的定时事件,留多1秒给worker进程结束,1秒后还未结束,信号升级为SIGKILL,直接终止worker进程。

相关文章

网友评论

      本文标题:PHP 平滑重启原理

      本文链接:https://www.haomeiwen.com/subject/bmbcgltx.html