今日闲来无事装了几个虚拟机做负载均衡的测试,LNMP环境搭建完成,在nginx的根目录新建了一个index.php文件,但是在 访问php文件的时候一直报错 502,查看相关的server配置,感觉没有什么问题,经过测试发现 除了php文件其余都能够直接访问。
首先判断php-fpm是否已经安装,没有安装的情况就需要先安装php-fpm,安装可以参数相关资料。
确定好服务器已经安装了php-fpm之后,查看是否已经启动或者直接重启:
[[email protected] ~]# /usr/local/php/sbin/php-fpm start
启动完成后,重启nginx:
[[email protected] ~]# 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端口:
[[email protected] ~]# 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