php-fpm和nginx正常启动,页面502解决办法

php-fpm和nginx正常启动,页面502解决

背景:新安装的系统,手动安装php、nginx、php-fpm各个模块后,本地部署一个php项目,在运行时发现只有nginx版本页面,显示502

排查过程如下,简单记录一下:

  1. 查看php-fpm和nginx的启动情况:
# 查看php-fpm和nginx是否启动
ps -ef|grep php-fpm
ps -ef|grep nginx

得到结果是:两个全部正常启动状态
  1. 查看请求时的nginx日志信息:
# 先查看了下nginx的运行日志存放位置:
find / -name nginx.conf # 找到nginx的配置文件,查看到error.log的存放位置
# 查看error.log信息如下:
*58 connect() failed (111: Connection refused) while connecting to upstream
  1. 排查结果:
    php-fpm和nginx全部正常启动,所以不是php-fpm未启动的原因,继续查,发现是:
nginx和php有两种链接方式:
1、fastcgi_pass 127.0.0.1:9000;
2、fastcgi_pass unix:/run/php/php7.0-fpm.sock;


这个具体怎么用要去php fpm里面去看他的配置文件
/etc/php/7.0/fpm/pool.d/www.conf里面的Listen

如果Listen是端口就写127.0.0.1:9000;
如果是路径,nginx的配置文件也要学路径,unix:/run/php/php7.0-fpm.sock;
  1. 完美解决:查看www.conf配置文件,里边的listen后是路径,所以修改项目的nginx配置文件即可:
### # fastcgi_pass   127.0.0.1:9000;  # 这种端口的注释掉,改为以下这种路径格式的
fastcgi_pass unix:/run/php/php7.3-fpm.sock;  # fastcgi_pass 改为本机的phm.sock的地址

本文来自博客园,作者:alisleepy,转载请注明原文链接:https://www.cnblogs.com/alisleepy/p/15487862.html

原文地址:https://www.cnblogs.com/alisleepy/p/15487862.html