后台系统偶尔会出现 502 ,收集 nginx 错误日志如下
nginx 报这个错误,connect() to unix:/run/php/php7.2-fpm.sock failed (11: Resource temporarily unavailable)
所以想请问这种问题如何定位。
参考这个帖子配置了 linux 相关参数,但是还是无效。所以不想请问该如何定位
https://serverfault.com/questions/843460/php-fpm-sock-failed-11-resource-temporarily-unavailable-while-connecting-to-u
1
meshell 2022-12-07 14:55:20 +08:00
配置下 fpm 的 ulimit 配高点
|
2
Twnysta 2022-12-07 14:55:31 +08:00
要不你 fpm 用端口模式试试吧
|
3
Aresrun 2022-12-07 14:56:43 +08:00
问了下 ChatGPT:这个错误通常表示 PHP FastCGI 进程管理器( FPM )服务没有运行或没有侦听您正在尝试连接的套接字。要解决此问题,可以尝试以下操作:
确保 PHP FPM 服务已正确安装并已启动。 检查您正在尝试连接的套接字路径是否正确。 检查 PHP FPM 配置文件中的 "listen" 选项是否正确配置。 如果您的 PHP FPM 进程正在运行,但仍然无法连接,则可能需要重启 PHP FPM 服务。 如果以上步骤都不起作用,则可能需要检查您的系统日志以获取更多信息,并根据错误消息提供的指示进行进一步调试。 |
4
awanganddong OP 这是 linux 配置
``` kernel.sysrq = 1 net.ipv6.conf.all.disable_ipv6 = 0 net.ipv6.conf.default.disable_ipv6 = 0 net.ipv6.conf.lo.disable_ipv6 = 0 kernel.printk = 5 net.core.somaxconn = 2048 net.core.netdev_max_backlog = 65535 ```` |
5
awanganddong OP ```
ulimit -s 8192 ``` 不知道什么引起这个问题的 |
6
singerll 2022-12-07 15:03:05 +08:00
php-fpm 程序没有启动吧,试下 systemctl start php7.2-fpm
|
7
meshell 2022-12-07 15:04:35 +08:00
@awanganddong 设置了系统的 ulimit 需要重启 fpm
|
8
awanganddong OP 这个是偶尔出现这个问题。
我把 php-fpm 配置贴出来 |
9
godgrp 2022-12-07 15:06:39 +08:00
如果是 systemd 起的 php 服务,设置 PrivateTmp=false ,否则可能导致 nginx 里配置的 sock 文件路径找不到
|
10
awanganddong OP pm = static
pm.max_children = 100 pm.start_servers = 50 pm.min_spare_servers = 50 pm.max_spare_servers = 50 或者说我该怎么排查问题,这个仅仅是后台一个查询接口 |
11
awanganddong OP 我发现问题了,在压测其他项目,所以这个后台挂了。
|
13
a1lenyang 2022-12-08 16:51:42 +08:00
chatgpt:这个错误通常表示 PHP-FPM 服务不可用或者 PHP-FPM 服务没有运行。我们可以尝试重新启动 PHP-FPM 服务来解决这个问题。
首先,请运行以下命令来检查 PHP-FPM 服务的状态: ``` systemctl status php7.2-fpm ``` 如果 PHP-FPM 服务处于停止状态,则可以尝试运行以下命令来启动 PHP-FPM 服务: ``` systemctl start php7.2-fpm ``` 如果 PHP-FPM 服务已经启动,但仍然出现这个错误,则可能需要重启 PHP-FPM 服务。你可以运行以下命令来重启 PHP-FPM 服务: ``` systemctl restart php7.2-fpm ``` 如果问题依然存在,则可能需要检查 PHP-FPM 的配置文件(通常位于 /etc/php/7.2/fpm/php-fpm.conf ),确保它正确配置并且没有任何错误。如果在配置文件中发现错误,则需要修改它并重启 PHP-FPM 服务。 此外,你也可以尝试检查 Nginx 的错误日志(通常位于 /var/log/nginx/error.log ),以查找更多关于这个问题的信息。 希望上述信息能够帮助你解决这个问题。如果还有其他问题,请再次提出。 |