502 错误网关 - connect() 到 unix:/var/run/php5-fpm.sock 失败(2:没有这样的文件或目录)

502 错误网关 - connect() 到 unix:/var/run/php5-fpm.sock 失败(2:没有这样的文件或目录)

我已经拥有 VPS 多年了。一切都工作正常。服务器运行 PHP 7 和 nginx。

今天,网站运行速度有点慢。所以我决定登录服务器并运行shutdown -r now.

重新启动后,我会502 Bad Gateway在浏览器和connect() to unix:/var/run/php5-fpm.sock failed (2: No such file or directory)nginx error.log 中看到。

我不知道重启期间会出现什么问题。我journalctl在启动时没有看到任何错误。

Mysql 启动良好。

php -v
PHP 7.2.22

nginx -v
nginx version: nginx/1.12.2

以下是我在虚拟主机中的一些部分:

        location ~ \.php$ {
                fastcgi_split_path_info ^(.+\.php)(/.+)$;
                fastcgi_pass unix:/var/run/php5-fpm.sock;
#               fastcgi_pass 127.0.0.1:9000;
                fastcgi_index index.php;
                include fastcgi_params;
        }

也许我在 PHP5 上运行并在重新启动时更新为 PHP7?这可能吗?

上次yum history安装是在 2018 年。

ls -la |grep php
-rwxr-xr-x.  1 root root    4696240 Jul 20  2018 php
-rwxr-xr-x.  1 root root    4589728 Jul 20  2018 php-cgi
-rwxr-xr-x.  1 root root       4776 Jul 20  2018 phpize

最后说它们自 2018 年以来就在那里,所以我怀疑启动后是否安装了新的 php。也许问题出在其他地方?

Ps 我没有 site-enabled/ 文件夹。虚拟主机位于该/etc/nginx/vhosts.d文件夹中。

我希望有人可以帮助排除故障并解决问题

编辑: 我不知道是否有帮助。我发现 /var/run我只有一个文件夹php-fpm是空的。在我的其他 2 个具有类似配置(但仍在工作)的 VPS 中,有两个项目:和不为空的php7-fpm.sock文件夹。php-fpm

就像 PHP 没有在那里创建袜子一样?

/etc/php-fpm.conf我有pid = /var/run/php-fpm/php-fpm.pid/etc/php-fpm.d/www.conf我有listen = /var/run/php7-fpm.sock

编辑2: 我跑步service php-fpm restart,现在它创造了袜子。它正在发挥作用。

回答该主题的最后问题: 在过去的几年里,我多次重新启动服务器,但一切都很好。今天重启后出现这个问题。我再次重新启动,仍然是同样的问题。我必须手动重新启动 php-fpm。

  • 为什么我遇到这个问题?
  • 为了避免将来出现此问题,该怎么做/检查/修复?

编辑3: 工作了几天。今天我决定重试重新启动ubuntu。

重新启动后,网关再次损坏。

[root@mysite ~]# ps faux|grep php
root     12149  0.0  0.0 112704   964 pts/0    S+   11:33   0:00                      \_ grep --color=auto php

然后我尝试:

[root@mysite~]# systemctl enable php-fpm
Created symlink from /etc/systemd/system/multi-user.target.wants/php-fpm.service to /usr/lib/systemd/system/php-fpm.service.

再次:

[root@www01 ~]# ps faux|grep php
root     12152  0.0  0.0 112704   964 pts/0    S+   11:37   0:00                      \_ grep --color=auto php

然后我尝试:

[root@mysite~]# service php-fpm restart
Redirecting to /bin/systemctl restart php-fpm.service
[root@mysite~]# ps faux|grep php
root     12176  0.0  0.0 112704   960 pts/0    S+   11:38   0:00                      \_ grep --color=auto php
root     12169  4.5  1.5 473028 16000 ?        Ss   11:38   0:00 php-fpm: master process (/etc/php-fpm.conf)
nginx    12170  0.0  0.7 473028  7668 ?        S    11:38   0:00  \_ php-fpm: pool www
nginx    12171  0.0  0.7 473028  7668 ?        S    11:38   0:00  \_ php-fpm: pool www
nginx    12172  0.0  0.7 473028  7668 ?        S    11:38   0:00  \_ php-fpm: pool www
nginx    12173  0.0  0.7 473028  7668 ?        S    11:38   0:00  \_ php-fpm: pool www
nginx    12174  0.0  0.7 473028  7672 ?        S    11:38   0:00  \_ php-fpm: pool www

但这一次,即使在service php-fpm restart运行 php 进程之后,我的网关也很糟糕:(

在journalctl中我看到:

Feb 18 11:45:47 mysitepolkitd[658]: Registered Authentication Agent for unix-process:12210:153462 (system bus name :1.19 [/usr/bin/pkttyagent --notify-fd 5 --fallback], object path /org/freedesktop/PolicyKit1/AuthenticationAgent, locale en_US.UTF-8)
Feb 18 11:45:47 mysite systemd[1]: Stopping The PHP FastCGI Process Manager...
Feb 18 11:45:47 mysite systemd[1]: Starting The PHP FastCGI Process Manager...
Feb 18 11:45:47 mysite systemd[1]: Started The PHP FastCGI Process Manager.
Feb 18 11:45:47 mysite polkitd[658]: Unregistered Authentication Agent for unix-process:12210:153462 (system bus name :1.19, object path /org/freedesktop/PolicyKit1/AuthenticationAgent, locale en_US.UTF-8) (disconnected from bus)

任何想法?

相关内容