首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >连接到unix:/var/run/php5-fpm.sock失败。我的设置有什么问题?

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

Stack Overflow用户
提问于 2014-08-03 02:15:10
回答 1查看 44.5K关注 0票数 19

我在DigitalOcean上有一个2 2GB的VPS,我在Debian7下使用NGINX,php-fpm和unix socket托管WordPress 3.9.1。

直到上周它开始显示"502 bad gateway“错误之前,它一直运行良好。我检查了日志,发现:

nginx php5-fpm日志显示pm.max_children已到达,nginx日志显示以下内容:

错误3239#0:*15188连接到unix:/var/xxx.xxx/php5-fpm.sock失败(11:资源暂时不可用),同时连接到上游,客户端:xxx.xxx,服务器: my.domain,请求:"POST /xmlrpc.php HTTP/1.0",上游:"fastcgi:// unix:/var/run/php5-fpm.sock :",主机:“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

有没有人有类似的经历?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-08-03 07:51:23

第一个问题是您指定的是100 max_children,这对于2 2GB来说太高了。我会把它扔给25个孩子。请参阅我的帖子,了解如何优化php-fpm配置以进行设置:

WARNING: [pool www] seems busy (you may need to increase pm.start_servers, or pm.min/max_spare_servers), spawning

此外,使用unix套接字会稍微快一些,因为它为您提供了直接的网络访问,而没有任何TCP/IP开销。缺点是,它不像TCP/IP那样可伸缩。当套接字耗尽时,Nginx将抛出502个错误。在这种情况下,您可以调整操作系统设置以适应更大的连接池,或者直接切换到TCP/IP。

在您的fastcgi配置更改中:

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返回高内存使用率,那么是时候向你的服务器添加更多的内存了。

票数 27
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25098029

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档