FPM的平滑重启需要通过USR2信号控制,不过与nginx的平滑重启过程有较大的不同。
kill-USR2`cat/home/git/php/var/run/php-fpm.pid`
通过持续观察fpm进程可以看到,FPM平滑重启,需要等子进程完全退出后,才会启动新的master及子进程,随后旧master退出。使用strace进一步分析

为了进一步验证这个结论,编写一个服务端sleep脚本
echo'done';
设置子进程接受主进程复用信号的超时时间。可用单位:s(秒),m(分),h(小时)或者d(天)。默认单位:s(秒)。默认值:0(关闭)。
原则上,php-fpm会选择空闲的fastcgi进程去处理请求,在处理之前,php-fpm会给fastcgi发送信号,用来让fastcgi进程准备好接受请求处理。但是fastcgi进程并不总是能够处理请求,也就是不能总是响应该信号(比如出现假死的情况),这时候就需要设定php-fpm留给fastcgi进程响应信号的时间,如果超时了,php-fpm会想其他办法(例如选择其他fastcgi进程),这个就是process_control_timeout参数的作用。
这个参数缺省是0,也就是不生效,修改为10,重新验证,502已经不会再出现。
以上就是nginx平滑重启和FPM平滑重启是什么的详细内容,更多请关注主机测评网其它相关文章!
本文来源:独立服务器--nginx平滑重启和FPM平滑重启是什么(nginx平滑重启)
本文地址:https://www.idcbaba.com/duli/4277.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 1919100645@qq.com 举报,一经查实,本站将立刻删除。



