nginx 导致502 Bad Gateway的原因,其中PHP重新加载和许多子进程快速生成和退出

8qgya5xd  于 2023-05-16  发布在  Nginx
关注(0)|答案(1)|浏览(244)

我们刚刚在2台服务器上出现了问题(两台服务器都不相关,强大的服务器,一台不面向公众),同时我们有502网关,我不得不手动重新加载PHP来修复它。
回顾PHP日志,我注意到PHP被重新加载了(试图找出原因--也许是Runcloud自动更新了PHP版本?)),然后产生并退出了许多PHP子进程,每个子进程在1秒内退出-非常奇怪,因为所有历史进程都在1500秒以上后正常退出。
服务器1有很多说:“从启动开始0.848228秒后,子XXXX在信号6(SIGABRT -内核转储)上退出”
服务器2(不对公众开放)有很多说:“子XXXX在启动后0.036807秒后退出,代码为1”
我似乎想不出是什么引起的。我看过流量日志,看起来没有什么太疯狂的,我找不到任何会导致PHP重启的东西,过去我们也没有通过部署触发自己。
我只能把它归结为可能RunCloud在我们的服务器上运行更新,它打破了-仍然不能解释为什么在PHP重新加载后,子进程发疯了,打破了两个服务器,导致502,然后我手动重新加载PHP,修复了它,一切都恢复正常。
超级超级奇怪,有什么想法吗?

blpfk2vs

blpfk2vs1#

  1. SIGABRT是PHP或其PECL扩展之一,崩溃时出现“undefined behavior”。
    1.既然你在FPM中得到了这些错误,那绝对不是一个可以指责的cronjob。
    1.您可以禁用一些扩展,例如APCu和/或opcache/preloading。但这只是一个盲目的试验,可能会或可能不会工作。你需要找到的原因肯定是collect core dump and analyze it

相关问题