502 Bad Gateway的可能原因,及解决方法
一:可能的原因是php-fpm未开启,查看php-fpm状态,若未开启,开启后重试
开启php-fpm,查看状态
systemctl start php73-php-fpm
systemctl status php73-php-fpm
重新打开网页
第二次遇到502
第二次遇到502,上面的方法试了,但是问题没有解决
感觉有可能是配置问题,最终参照 https://blog.csdn.net/ucmir183/article/details/80240112 的解决方法,解决了
我的配置里面是这样的
location ~* \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
}
输入命令 netstat -tlnp | grep 9000 并没有监听9000的程序
Nginx和PHP-FPM的进程间通信有两种方式,一种是TCP,一种是UNIX Domain Socket.
其中TCP是IP加端口,可以跨服务器.而UNIX Domain Socket不经过网络,只能用于Nginx跟PHP-FPM都在同一服务器的场景.用哪种取决于你的PHP-FPM配置:
方式1:
php-fpm.conf: listen = 127.0.0.1:9000
nginx.conf: fastcgi_pass 127.0.0.1:9000;
方式2:
php-fpm.conf: listen = /tmp/php-fpm.sock
nginx.conf: fastcgi_pass unix:/tmp/php-fpm.sock;
在配置文件中看了一下,发现初始化时就有一个文件
查阅了自己以前的配置,以前使用php7.2与php7.3时是没有这个文件的
于是把这个文件删除是了一下,重启nginx报错
好奇心驱使,进入文件看了一下
于是进入自己配置的文件中,修改
重启nginx服务器,问题解决
文章参考: php 502 bad gateway 解决方法 作者:云溪111
参考地址:https://blog.csdn.net/ucmir183/article/details/80240112