502 Bad Gateway的可能原因,及解决方法

502 Bad Gateway的可能原因,及解决方法,第1张

一:可能的原因是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服务器,问题解决

参考地址:https://blog.csdn.net/ucmir183/article/details/80240112

nginx -s reload :修改配置后重新加载生效

nginx -s reopen :重新打开日志文件

nginx -t -c /path/to/nginx.conf 测试nginx配置文件是否正确

关闭nginx:

nginx -s stop :快速停止nginx

quit :完整有序的停止nginx

其他的停止nginx 方式:

ps -ef | grep nginx

kill -QUIT 主进程号 :从容停止Nginx

kill -TERM 主进程号 :快速停止Nginx

pkill -9 nginx :强制停止Nginx

启动nginx:

nginx -c /path/to/nginx.conf

平滑重启nginx:

kill -HUP 主进程号


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/229406.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-09
下一篇2023-04-09

发表评论

登录后才能评论

评论列表(0条)

    保存