当前位置: 首页 > 知识库问答 >
问题:

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

秦才英
2023-03-14

我在DigitalOcean上有一个2GB VPS,我正在主持WordPress 3.9。1在Debian 7下使用NGINX、php fpm和unix套接字。

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

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

[错误]3239#0:*15188 connect()到unix:/var/run/php5 fpm。连接到上游时sock失败(11:资源暂时不可用),客户端:xxx。xxx。xxx。xxx,服务器:我的。域,请求:“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启用了监听 /var/run/php5-fpm.sock。

有类似经历的人吗?

共有1个答案

司徒墨竹
2023-03-14

第一个问题是您指定了100max_children,这对于2GB来说是非常高的。我会把它降到25个孩子。请参阅我在这里关于如何优化您的php-fpm配置为您的设置的帖子:

警告:[池www]似乎很忙(您可能需要增加pm.start\u服务器或pm.min/max\u备用服务器),正在生成

此外,使用unix套接字稍微快一点,因为它为您提供了直接的网络访问,而没有任何TCP/IP开销。不利的一面是,它不如TCP/IP可扩展。当html" target="_blank">套接字耗尽时,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。

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

 类似资料:
  • 问题内容: 我试图在使用php7为Ubuntu 16.04调整它时遵循此Ansible教程。在此消息下方,您将找到我的Ansible文件。运行它并尝试在浏览器中访问该页面后,我得到了404,以及nginx错误日志中的以下内容: 2016/10/15 13:13:20 [crit] 28771#28771:* 7对unix的connect():/ var / run / php7.0-fpm.soc

  • 问题内容: 我将nginx更新为 1.4.7 ,将php 更新为 5.5.12 ,之后得到了 502错误 。在更新之前,一切正常。 nginx-error.log nginx.conf 问题答案: php更新后出现类似错误。PHP固定一个安全漏洞,其中有权限的套接字文件。 打开或,具体取决于您的版本。 取消注释所有权限行,例如: listen.group = www-data listen.mod

  • 本文向大家介绍nginx connect() to unix:/var/run/php-fpm.sock failed (11: Resource temporarily unavailable),包括了nginx connect() to unix:/var/run/php-fpm.sock failed (11: Resource temporarily unavailable)的使用技巧和注

  • 每次我运行泊坞站,我都会得到这个错误。无法连接到 unix:///var/run/docker.sock 的 Docker 守护程序。泊坞窗守护程序是否正在运行? 感谢您的帮助。

  • 我们不允许在Stack Overflow上提出有关专业服务器或与网络相关的基础设施管理的问题。您可以编辑问题,使其成为Stack Overflow的主题。 我正在从mac终端使用带有k8s的docker。不知道我做了什么,我的docker命令不再工作。例如,和永远挂起。我试图通过卸载和安装docker来解决这个问题。但是在我重新安装docker后,我收到了这个错误消息: 对于其他docker命令,

  • 问题内容: GitLab在kubernetes集群中运行。Runner无法使用构建工件构建docker映像。我已经尝试了几种方法来解决此问题,但是没有运气。以下是一些配置摘要: .gitlab-ci.yml config.toml 打包阶段日志: 我究竟做错了什么? 问题答案: 不需要使用此: 因为似乎不支持OVERLAY,所以svc-0容器无法启动它: 另外,添加到docker-build: