Nginx的+ PHP-FPM随机给出502(Nginx + PHP-FPM Randomly Gi

2019-10-23 10:09发布

我的网站是工作的罚款与Nginx的+ PHP-FPM但随机它提供了502错误。 环境细节

OS - CetnOS 6
Nginx
PHP-FPM (php 5.4)
APC (Code Cache APC 3.1.13  beta)
Memcache (data cache)

在PHP-FPM

pm.max_children = 200
pm.start_servers = 40
pm.min_spare_servers = 30
pm.max_spare_servers = 50
pm.max_requests = 500

另外我使用的TCP连接不插座。

如果有任何身体有任何输入,请更新我。

谢谢

Answer 1:

首先减少pm.max_children = 200pm.max_children = 50

你必须首先提高系统从而使nginx的和PHP-FPM打开的文件数量较多的文件限制。 文件限制必须增加在中端Linux的一切文件。 所以,更多的连接打开将需要更大量的文件。 在Ubuntu文件限制配置在完成/etc/security/limits.conf 。 您需要找到此为CentOS。

然后尝试增加可通过PHP-FPM中使用的内部端口范围。 随着这一TCP端口通常与重复使用它们之前的超时值相关联,因此,当他们的工作完成更多的端口被释放减少这种超时。

找到详细的信息在这里 。

加成:

在情况下,如果错误仍然存​​在尝试增加的php-fpm的工作进程的数目为100。虽然不建议设置的值那么高,因为它们消耗的内存增加。

pm.max_children = 100
pm.start_servers = 90
pm.min_spare_servers = 70
pm.max_spare_servers = 100

你可以尝试不同的值,以获得适合你的目的的最佳。

当nginx的不能前进,502的基本原因是或不将请求转发到PHP-FPM。 提高PHP-FPM的工作进程的数量可以的途径之一,从而给nginx的多个进程将请求转发到。



文章来源: Nginx + PHP-FPM Randomly Gives 502
标签: php nginx apc