如何解决WordPress中的502 Bad Gateway错误? 架构&设计

来源:互联网 / 作者:SKY / 2018-06-21 15:40 / 点击:
你有没有在WordPress网站上看到过非常烦人又沮丧的502 Bad Gateway错误?是的,我们都遇到过这个问题。知道502 Bad Gateway错误是啥意思吗?知道如何解决这个问

技术沙龙 | 6月30日与多位专家探讨技术高速发展下如何应对运维新挑战!

如何解决WordPress中的502 Bad Gateway错误?

【Chinaz.com快译】你有没有在WordPress网站上看到过非常烦人又沮丧的502 Bad Gateway错误?是的,我们都遇到过这个问题。知道502 Bad Gateway错误是啥意思吗?知道如何解决这个问题吗?我们在本文将详细介绍WordPress中的502 Bad Gateway错误,并告诉你如何排查WordPress中的502 Bad Gateway错误。

502 Bad Gateway错误的含义是什么?

502 Bad Gateway错误是个HTTP状态代码,意味着互联网上的一台服务器收到了来自另一台服务器的无效响应。用技术性更强的话来说,502 Bad Gateway意味着代理(网关)服务器无法获得来自上游服务器的有效响应或任何响应。

W3.org的官方文档指出,这与以5(5xxx)开头的HTTP状态代码与几台服务器之间通信不畅时发生的错误有关。

如果你在网站上看到502 Bad Gateway错误,表明源服务器向另一台充当网关或代理的服务器发送了无效响应。要经过一番棘手的调查才能找出问题具体出在哪里。不过,你可以遵循几个基本的排查步骤来解决这个问题。

502 Bad Gateway错误的几种形式

由于各种互联网浏览器和各种Web服务器及操作系统,502 Bad Gateway错误有几种不同的形式。下面是502 Bad Gateway错误的几种最常见的形式。

? “Error 502”

?“HTTP Error 502 – Bad Gateway”

?“502 Proxy Error”

?“HTTP 502”

?“502 Service Temporarily Overloaded”(“502服务暂时过载”)

?“502 Server Error: The server encountered a temporary error and could not complete your request”(“502服务器错误:服务器暂时遇到了错误,无法完成你的请求。”)

?“502. That’s an error. The server encountered a temporary error and could not complete your request. Please try again in 30 seconds. That’s all we know.”(“502。这是错误。服务器暂时遇到了错误,无法完成你的请求。请在30秒后重试。这是我们所知道的。”)

?屏幕一片空白

如何解决502 Bad Gateway错误(3种可能的办法)

502 Bad Gateway错误通常是网络或服务器出了问题,但也可能是客户端问题。于是我们会排查服务器端的错误,还会排查客户端的错误。下面是检查和解决问题的几个步骤。

1. 检查服务器

如何解决WordPress中的502 Bad Gateway错误?

如果你看到图中所示的错误,很可能问题出在Web服务器

不妨检查一下Web服务器配置,本例中服务器运行Nginx。WordPress在PHP和MySQL上运行。所以在Nginx中,我们需要检查PHP文件是如何处理的。在Nginx服务器部分找到“location ~ \.php$”。

ssh@your_ip -p7022  

如何解决WordPress中的502 Bad Gateway错误?

502 Bad Gateway错误

从图中所示的Nginx配置来看,PHP文件由在端口9000运行的fastcgi来处理。

不妨检查端口上运行的是什么。

netstat -pltn | grep 9000 

如果你在执行该命令后没看到任何结果,表明进程已终结。这是你看到502 Bad Gateway错误的原因。

在最新版CentOS和Ubuntu中,可以调用此命令来查看应该从哪里运行进程:

systemctl list-unit-files | grep fpm  

如何解决WordPress中的502 Bad Gateway错误?

502 Bad Gateway错误

执行该命令来运行服务:

systemctl start php7.0-fpm 

现在,进入到Web浏览器,检查你的网站。

如果你使用CloudFlare,看到如下图所示的502 Bad Gateway错误,你的Web服务器极有可能是宕机了。可以尝试重启Apache或Nginx,这取决于你使用哪种Web服务器。

如何解决WordPress中的502 Bad Gateway错误?

cloudflare中的502 Bad Gateway错误

2. 清除缓存

如果已采用第一个办法,但还是看到502 Bad Gateway错误,那么你的Web浏览器仍依赖缓存。我们得告诉Web浏览器从网站加载最新版本。为此,我们可以按下键盘上的Ctrl + F5(Windows/Linux)、工具栏中的Shift + Reload按钮(Safari浏览器),或者CMD + Shift + R(针对Mac用户的Chrome和Firefox)。

3. 禁用CDN

如果你在使用CloudFlare,可以尝试暂时禁用CDN。

如何解决WordPress中的502 Bad Gateway错误?

502 Bad Gateway错误:禁用CDN

4. 检查脚本

如前所述,502 Bad Gateway错误是由于Web服务器出了问题。比如说,有时候,php进程因使用高端内存(high memory)而被服务器终结。这个终结过程会在一段时间后终止请求,这也会导致网站宕机。但是网站通常会自动可以访问,因为这时PHP进程重新生成。为了永久解决这个问题,要检查哪个php脚本在使用高端内存。

5. 检查插件和主题

排查哪个插件导致错误很简单。即使我们无法访问WordPress后端,也可以通过重命名插件目录,一次性禁用所有插件。为此,使用SSH连接到你的服务器。请注意:你也可以使用FTP客户软件(比如FileZilla)来执行此操作。

如何解决WordPress中的502 Bad Gateway错误?

解决502 Bad Gateway错误

你可以逐个启用插件,按照以下步骤操作:

进入到wp-content目录,我们可以看到没有插件目录,我们已对其重命名。

不妨创建一个插件目录,并将一个插件移过去。这会自动启用该插件。

如何解决WordPress中的502 Bad Gateway错误?

解决wordpress中的502 Bad Gateway错误

有时,排查WordPress错误比我们想象的要容易,但有时也可能很难解决。

当然,如果你的WordPress VPS由服务提供商托管,无需为服务器操心,提供商的技术支持团队会马上帮你调查和解决这个502 Bad Gateway问题。他们随时待命,能够解答任何问题或要求。

原文标题:How to Fix the 502 Bad Gateway Error in WordPress

【51CTO译稿,合作站点转载请注明原文译者和出处为Chinaz.com】

【编辑推荐】

WordPress 4.9“Tipton”正式版发布

前端性能优化 —— 移动端浏览器优化策略

如何修复WordPress中的HTTP错误

W3Techs CMS 流行度统计:WordPress 一枝独秀

别再让你的Web页面在用户浏览器端裸奔

阅读延展

1
3