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

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

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

【51CTO.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. 检查服务器 

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

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

  1. ssh@your_ip -p7022  

502 Bad Gateway错误

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

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

  1. netstat -pltn | grep 9000 

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

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

  1. systemctl list-unit-files | grep fpm  

502 Bad Gateway错误

执行该命令来运行服务:

  1. systemctl start php7.0-fpm 

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

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

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。 

502 Bad Gateway错误:禁用CDN

4. 检查脚本

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

5. 检查插件和主题

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

解决502 Bad Gateway错误

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

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

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

解决wordpress中的502 Bad Gateway错误

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

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

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

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

责任编辑:庞桂玉 来源: 51CTO
相关推荐

2010-03-24 18:19:42

Nginx php

2018-03-05 19:20:49

LinuxWordPressHTTP

2014-06-11 09:34:22

vSphere虚拟机

2010-03-29 17:46:39

Nginx asp

2019-06-12 10:15:17

Windows 10 错误系统配置信息

2011-12-05 13:09:08

2021-10-20 20:27:55

MySQL死锁并发

2021-04-08 12:17:52

WindowsLinux操作系统

2023-07-05 14:38:09

2017-04-07 08:43:46

数据分析错误解决

2019-02-25 11:16:29

Windows 10错误distributed

2017-09-28 10:40:10

深度学习多体问题多代理系统

2017-09-23 22:07:24

深度学习N 体问题GAN

2011-05-17 09:58:22

DB2SQL1032N

2010-03-26 18:41:51

Nginx 502错误

2019-11-05 14:00:23

Windows 10Outlook附件

2023-09-03 22:44:28

I/O高并发

2011-06-01 09:20:10

软件项目

2011-09-28 10:13:58

2018-07-02 16:00:13

Windows 10Windows后台进程
点赞
收藏

51CTO技术栈公众号