连接到unix:/var/run/php5-fpm.sock失败。我的设置有什么问题?

连接到unix:/var/run/php5-fpm.sock失败。我的设置有什么问题?,php,wordpress,nginx,Php,Wordpress,Nginx,我在DigitalOcean上有一个2GB的VPS,我在Debian 7下用NGINX、php fpm和unix socket托管WordPress 3.9.1 它一直工作正常,直到上周它开始显示“502坏网关”错误。我检查了日志,发现: php5 fpm日志显示pm.max_已到达和 nginx日志显示以下内容: [错误]3239#0:*15188 connect()到unix:/var/run/php5-fpm.sock在连接到上游时失败(11:资源暂时不可用),客户端:xxx.xxx.xx

我在DigitalOcean上有一个2GB的VPS,我在Debian 7下用NGINX、php fpm和unix socket托管WordPress 3.9.1

它一直工作正常,直到上周它开始显示“502坏网关”错误。我检查了日志,发现:

php5 fpm日志显示pm.max_已到达和 nginx日志显示以下内容:

[错误]3239#0:*15188 connect()到unix:/var/run/php5-fpm.sock在连接到上游时失败(11:资源暂时不可用),客户端:xxx.xxx.xxx,服务器:my.domain,请求:“POST/xmlrpc.php HTTP/1.0”,上游:fastcgi://unix:/var/run/php5-fpm.sock:,主机:“xxx.xxx.xxx.xxx”

我用不同的设置手动更改了pm,但运气不好。每次更改后,我都会重新启动守护进程

pm设置为:

pm = dynamic 
pm.max_children = 100 
pm.start_servers = 10 
pm.min_spare_servers = 10 
pm.max_spare_servers = 10 
pm.max_requests = 200
www.conf
启用了
listen=/var/run/php5 fpm.sock


有类似经验的人吗?

第一个问题是您指定的最大子级数为100,这对于2GB来说太高了。我会把它留给25个孩子。请参阅我在此处发布的关于如何为您的设置优化php fpm配置的文章:

此外,使用unix套接字的速度稍快一些,因为它提供了直接的网络访问,而无需任何TCP/IP开销。另一方面,它的可伸缩性不如TCP/IP。当套接字耗尽时,Nginx将抛出502个错误。在这种情况下,您可以调整操作系统设置以适应更大的连接池,也可以切换到TCP/IP

在您的fastcgi配置更改中:

fastcgi_pass unix:/var/run/php5-fpm.sock;
致:

请注意,端口9000是php fpm中设置的默认端口,如果您已将php fpm更改为侦听另一个端口,则使用该值交换9000。确保重新启动php fpm和nginx


现在,如果在所有这些之后,您仍然无法让它工作并且free-m返回高内存使用率,那么是时候向您的服务器添加更多ram了。

请参阅此部分,谢谢您的回复。很遗憾,没有帮助。谢谢你的回复。我将进行您建议的配置更改,稍后会通知您。您好。谢谢你的帮助。您的解决方案工作得很好,但尽管我消除了502错误,但我遇到了504次超时,free-m报告2GB可用空间中有1.4GB可用空间。TCP/IP配置会产生此错误,还是与此无关?504是nginx正在等待来自php fpm的答复,但在X时间内没有收到答复。可能有很多原因。首先,你应该检查你的nginx错误日志,应该给你一些错误输出。您还应该考虑增加NGIX超时。您可以尝试在nginx.conf中将fastcgi_send_timeout和fastcgi_read_timeout设置为30秒到60秒之间的某个时间,看看这是否奏效。您好。我最终将nginx.conf和php.ini文件中的超时时间改为60秒,但我仍在经历504秒。有什么想法@Rijndael?尝试在nginx.conf中设置request_terminate_timeout=30s,在php fpm conf中设置max_execution_time=30。后者应该已经存在。确保重新启动nginx和php-fpm。
fastcgi_pass 127.0.0.1:9000;