028-86922220

建站动态

根据您的个性需求进行定制 先人一步 抢占小程序红利时代

如何解决php-fpm重启导致的程序执行中断问题-创新互联

这篇文章主要介绍如何解决php-fpm重启导致的程序执行中断问题,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

创新互联从2013年创立,先为象州等服务建站,象州等地企业,进行企业商务咨询服务。为象州企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。

背景和初步排查

1是error log 丢日志了
2是程序执行过程中操作完sendPresent后down掉了,导致没写入mongo
-第一个情况工作多年的经验来看应该不至于,那就先根据第二种情况继续查吧

[wu.daolin@web001.m6~]$ grep "2017 05:28" /var/log/php-fpm.log
[25-Jun-2017 05:28:01] NOTICE: Terminating ...

跟订单时间刚好吻合,那肯定有必要研究下了

熟悉下 php-fpm 的管理


php-fpm 是通过 php-fpm这个命令进行管理的,我们先看下这个命令


man php-fpm

这里有提到,php-fpm then responds to several POSIX signals php-fpm 会对下面几个信号作(自己的)处理

动手验证下

sudo kill -QUIT {php-fpm-pid}

[26-Jun-2017 13:58:22] NOTICE: Finishing ...            
[26-Jun-2017 13:58:22] NOTICE: exiting, bye-bye!

sudo kill -TERM {php-fpm-pid}

[26-Jun-2017 13:59:21] NOTICE: Terminating ...            
[26-Jun-2017 13:59:21] NOTICE: exiting, bye-bye!

sudo kill -USR2 12583

[26-Jun-2017 14:00:48] NOTICE: Reloading in progress ...          
[26-Jun-2017 14:00:48] NOTICE: reloading: execvp("/usr/sbin/php-fpm", {"/usr/sbin/php-fpm", "--daemonize"})    
[26-Jun-2017 14:00:48] NOTICE: using inherited socket fd=8, "10.30.60.87:9000"        
[26-Jun-2017 14:00:48] NOTICE: using inherited socket fd=8, "10.30.60.87:9000"        
[26-Jun-2017 14:00:48] NOTICE: fpm is running, pid 12696          
[26-Jun-2017 14:00:48] NOTICE: ready to handle connections

从验证结果推断


在 05:28:01这个时间有人给php-fpm 发送了SIGTERM信号,在这个点发生很可能是个定时任务, 确认果然是这样28 5 * * * root /etc/init.d/php-fpm restart> /dev/null


我们的 php-fpm 管理

看下这个情况下nginx的反应

如何解决php-fpm重启导致的程序执行中断问题

总结原因

替代方案

与sa 的问答


sa 说了3点意见

我回复

以上是“如何解决php-fpm重启导致的程序执行中断问题”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注创新互联行业资讯频道!


分享标题:如何解决php-fpm重启导致的程序执行中断问题-创新互联
浏览路径:http://www.tsicrk.com/article/higcs.html

其他资讯

让你的专属顾问为你服务

0.7869s