Nginx + PHP-FPM 502 Bad Gateway

时间:2010-09-01 08:22:05

标签: php nginx

我从Nginx获得502 Bad Gateway一行PHP代码,在我的程序的其他地方工作正常($this->provider = new OAuthProvider();),之前工作正常。这是我在每个502的Nginx错误日志中得到的消息:

  从上游读取响应头时,

recv()失败(104:由对等方重置连接)

在PHP-FPM日志中,每个502都有一个警告:

  

[警告] [游泳池www]儿童17427在开始142070.657176秒之后退出信号11 SIGSEGV

在对nginx.conf进行了一些更改之后,我陷入了困境,非常感谢下一步该做什么的任何指示。

我在Ubuntu 10.04上运行Nginx 0.7.67和PHP 5.3.2。

6 个答案:

答案 0 :(得分:5)

答案 1 :(得分:2)

您的PHP进程崩溃了一个段错误(“信号11 SIGSEGV”),导致Nginx看到“通过对等方重置连接”(在这种情况下PHP是“对等”,Nginx告诉你“看,他挂了在我能得到他的回答之前,我可以继续“”。

查看how to report a bug someone will want to fix上的PHP Bug数据库页面,了解如何获取段错误的回溯,以便报告。

答案 2 :(得分:1)

我和APC有同样的问题。所以我删除了它并安装了eaccelerator。到目前为止没问题。

答案 3 :(得分:0)

我在使用nginx / lighttpd + php-fcgi时遇到了类似的问题(使用spawn-fcgi),你是否对php使用任何操作码缓存? 我很久以前发现的是xcache在php-fcgi中导致奇怪的行为,一些php-fcgi进程随机死亡,我无法找到任何模式。如果您使用任何设置,我建议您查看apc(或其他操作码缓存)设置。 现在我在freebsd上使用nginx + php-fpm并没有问题。

答案 4 :(得分:0)

ZendOptimizer + APC + php-fpm 5.2.14即使在phpinfo()上也能提供不断重现的SIGSEGV。

答案 5 :(得分:-2)

尝试关闭suhosin。有时会崩溃Apache。