连接到unix:/var/run/php5-fpm.sock失败。我的装置怎么了?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (443)

我有一个2GB的数字海洋VPS,我是托管WordPress 3.9.1下的Debian 7与Nginx,php-fpm和Unix套接字。

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

php5-fpm日志显示pm.max[医]联系到了儿童,nginx日志显示了以下内容:误差3239#0:*15188连接()到unix:/var/run/php5-fpm.sock失败(11:资源暂时不可用),客户端:xxx.xx.xxxx,服务器:my.Domain,请求:“post/xmlrpc.php HTTP/1.0”,上游:“快速cgi://unix:/var/run/php5-fpm.sock:”,主机:

我用不同的设置手动更改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 max。孩子们,这是非常高的2GB。我会把它交给25个孩子。请参阅我在这里发表的关于如何为设置优化php-FPM配置的文章:

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

在你的快换:

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

致:

fastcgi_pass 127.0.0.1:9000;

注意,端口9000是PHP-FPM中的默认端口,如果您已经更改了php-fpm以侦听另一个端口,那么就用该值交换9000。确保重新启动php-fpm和nginx。

现在,如果在这一切之后,你仍然不能让它开始工作自由-m返回较高的内存使用率,然后是时候添加更多的内存到您的服务器。

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励