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

"引入另一个服务器上的PHP文件"是什么意思呢?可能解释有:

1、当作一个静态文件 include 过来在本机执行。

2、把执行权转移到另外一台服务器上。

第一种情况要注意的是 PHP 文件的执行环境问题,也就是说,其内引用文件、数据库连接等需要符合本机的执行要求。

第二种情况相对简单,相当于网站的重定向就行了。

第二种情形是大网站的普遍情况。没有哪个大网站会把所有服务都在同一台服务器上实现的。往往是首页所在的服务器只是一个门户,登录以后就重定向到了别的服务器,比如,你进的论坛和进的邮箱系统一般就不是同一服务器。

看代码应该是test2去获取test1的数据,getData.php里,加上对应的接口文件名应该就好了

B service : http://www.test2.com

//getData.php

$url = 'http://www.test1.com/data.php'

$ch = curl_init()

curl_setopt($ch, CURLOPT_URL, $url)

curl_setopt($ch, CURLOPT_HEADER, true)

$result = curl_exec($ch)

echo $result


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

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

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

发表评论

登录后才能评论

评论列表(0条)

    保存