如何排除Nginx上的502坏网关错误 (产品供销 - 其他产品)

免费广告主页 > 产品供销 > 其他产品 > 如何排除Nginx上的502坏网关错误

广告号码: 1644804 类别: 产品供销 - 其他产品

如何排除Nginx上的502坏网关错误


在使用Nginx时遇到的最令人沮丧的错误之一是502错误。伴随这个错误的文本是“坏网关”,不幸的是,它并没有说明什么地方可能出错了。相比之下,其他错误清楚地表明没有找到资源或页面,或者您没有查看特定资源的权限。

在本文中,我们将更详细地研究Nginx中的502坏网关错误,并提出一些经过时间考验的故障排除方法。

502坏网关错误是什么?

当服务器响应一个HTTP请求时,响应代码的类别说明了很多。例如,像4xx这样的响应与坏请求有关;同样,5xx系列是为服务器错误保留的。这意味着如果你得到500或502的回应,这不是你的错——服务器出了问题。

在502错误中,服务器试图告诉你的是,它未能通过一个连接的“网关”连接到一个重要的服务如果这听起来太笼统,没有帮助,那只是野兽的本性;根据您正在运行的堆栈以及Nginx是如何设置服务请求的,这个错误将意味着不同的事情。

在最常见的情况下,例如,当您的新WordPress安装抛出这个错误时,这意味着Nginx无法与PHP(或PHP-FPM)服务正确通信。接下来,让我们看一个例子,说明如何在PHP中解决这个错误。

Nginx和PHP中502坏网关错误的解决

要解决502坏网关错误,您需要系统地检查几个步骤。

FPM不在场

在第一种情况下,也许您提供给Nginx的配置文件说它必须通过PHP-FPM连接,而该服务实际上并没有安装在您的服务器上。这在新服务器安装中非常常见。

要解决这个问题,你需要做的就是(假设你在Ubuntu 16.04上):

$ sudo apt install php-fpm

$ sudo service php-fpm restart

$ sudo service nginx restart

之后,再尝试访问URL,很可能错误就没了。

FPM不能连接到端口或插座

另一个典型的情况是,当您有Nginx配置文件要求它监听一个套接字时,而实际上那个套接字甚至不存在。另一种可能性是,配置文件告诉Nginx通过端口9000连接(这是一个非常常见的设置),而FPM进程被配置为通过套接字文件发送输出。

要查看是否存在这种不匹配,请打开PHP-FPM配置文件。对于Ubuntu 16.04上的PHP 7.1,位置是/etc/PHP/7.1/fpm/pool . d/www . conf,查找下面一行:

listen =/run/PHP/PHP 7.1-fpm . sock

现在,检查文件/run/php/php7.1-fpm.sock是否确实存在。如果没有,只需创建它并设置相关权限:

# touch /run/php/php7.1-fpm.sock

# chown:www-data/run/PHP/PHP 7 . 1-fpm . sock

# chmod 775/run/PHP/PHP 7.1-fpm . sock

一旦这样做了,尝试重新启动FPM和Nginx,事情应该会有所进展。

相关链接: (无)
面向省市区: 全国
面向市区县: 全部
最后更新: 2023-06-30 16:27:13
发 布 者: Dylan
联系电话: (无)
电子邮箱: (无)
浏览次数: 50
免费广告主页 > 产品供销 > 其他产品 > 如何排除Nginx上的502坏网关错误
© 2024 中国免费广告 CNFreeAds.com