美文网首页
Nginx访问php文件报502错误的解决方法

Nginx访问php文件报502错误的解决方法

作者: 岸边露伴一动不动 | 来源:发表于2020-07-15 11:46 被阅读0次

安装好nginx后,配置文件没有问题,可以正常访问html,访问php文件时,报错502
查看nginx的报错日志:

2020/07/15 11:39:13 [error] 28705#0: *2 connect() failed (111: Connection refused) while connecting to upstream, client: 10.10.4.135, server: www.xinxinzhang.com, request: "GET /fuck.php HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "192.168.0.20"

首先,我们需要知道,nginx和php的交互是通过php-fpm交互的,交互方式遵循FastCGI协议,根据这个报错日志判断原因是,nginx无法与php-fpm正常交互。

1、查询php-fpm是否安装

通过find / -name php-fpm查询服务器中是否有php-fpm,如果没有,先安装php-fpm

image.png

2、启动php-fpm

我的php-fpm安装路径是/usr/sbin/php-fpm,可以通过/usr/sbin/php-fpm start命令启动。需要注意的是,php 5.3.3 以后的php-fpm 不再支持 php-fpm 以前具有的 /usr/local/php/sbin/php-fpm (start|stop|reload)等命令,需要通过systemctl start php-fpm来启用php-fpm

使用命令ps -ef |grep php-fpm查看状态:

image.png
可以看到php-fpm已经启动成功
php的FastCGI端口号默认是9000,使用命令netstat -ant |grep 9000,查看9000端口是否监控,发现正在监听
image.png

3、重启Nginx

systemctl restart nginx

重启后问题解决


image.png

为了防止每次使用php-fpm都需要手动启用,可以将php-fpm设置为开机自启动

相关文章

网友评论

      本文标题:Nginx访问php文件报502错误的解决方法

      本文链接:https://www.haomeiwen.com/subject/ogjdhktx.html