PHP-FASTCGI 与 nginx 挂起,有没有更好的解决方案来解决这个问题?

PHP-FASTCGI 与 nginx 挂起,有没有更好的解决方案来解决这个问题?

目前我有一个 cron,每 15 分钟重新启动一次 PHP-FASTCGI,但是......是的。64 位 - Debian 5 nginx 0.6.32

答案1

使用PHP-FPM而不是标准的 FastCGI。FPM 与 nginx 配合得很好。

答案2

尝试安装 apache 作为 nginx php cgi 的后端。这种解决方案被广泛传播。

答案3

除了 vartecs 的建议;

1)升级你的 nginx,0.6.x 已经很旧了

2)一次 php-fpm,配置 /status 和 /ping来监控它。

3)你可能想使用 nginxHttpStubStatus模块

4)我读过的一些lightys 维基

“该问题似乎源于 PHP 中一个鲜为人知的问题:在处理 500 个请求后,PHP 将停止接受新的 FastCGI 连接;不幸的是,在 PHP 清理代码中存在一个潜在的竞争条件,其中 PHP 可以关闭但仍保持套接字打开,因此 lighty 可以将请求编号 501 发送到 PHP 并使其“被接受”,但随后 PHP 似乎只是退出,导致 lighty 返回 500。

为了限制这种情况的发生,请将 PHP_FCGI_MAX_REQUESTS 设置为 500。”

5)如果没有什么帮助,你可能需要尝试一下 php.ini最大执行时间和 php-fpm调试 + slowlog

相关内容