记一次nginx无法访问php的采坑过程

今日闲来无事装了几个虚拟机做负载均衡的测试,LNMP环境搭建完成,在nginx的根目录新建了一个index.php文件,但是在 访问php文件的时候一直报错 502,查看相关的server配置,感觉没有什么问题,经过测试发现 除了php文件其余都能够直接访问 

首先判断php-fpm是否已经安装,没有安装的情况就需要先安装php-fpm,安装可以参数相关资料。

确定好服务器已经安装了php-fpm之后,查看是否已经启动或者直接重启:

[root@localhost ~]# /usr/local/php/sbin/php-fpm start

启动完成后,重启nginx:

[root@localhost ~]# service nginx restart

以上操作并没有解决问题。

查找nginx错误日志,我的日志在:/var/log/nginx/error.log中,打开清一色类似错误:

2019/11/28 06:06:13 [error] 1640#0: *579 connect() failed (111: Connection refused) while connecting to upstream, client: 192.168.56.1, server: _, request: "GET /index.php HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "192.168.56.101"

大概意思是连接不上9000端口(以往都是这么干的没有任何问题)。

现在需要查看一下是否有监听9000端口:

[root@localhost ~]# netstat -ant | grep 9000 发现并没有监听(php-fpm已经启动)

解决办法:

打开 

vi /usr/local/php/etc/php-fpm.conf   #不知道安装在哪里的话 可以 find / -name php-fpm.conf 搜索一下

找到listen

我们将[www]下的 listen = /tmp/php-cgi.sock 复制一下,粘贴到 nginx 配置文件

注意观察以往 fastcgi_pass 我都会写成 127.0.0.1:9000,现在我们需要改成 unix:/tmp/php-cgi.sock。

重启一下nginx ,,成功了。

 

原文地址:https://www.cnblogs.com/qichao123/p/11951373.html