如何修复 WordPress 中的 HTTP 503 服务不可用错误

当您在WordPress 网站上看到错误时,您的第一反应可能是感到恼火和沮丧。但别担心!大多数错误实际上很容易解决。

503 Service Unavailable 错误就是一个例子。虽然它看起来技术性和令人困惑,但它实际上是一个非常简单的错误。

这些解决方案也很容易做到,并且不需要任何深厚的技术知识。

在这篇文章中,我们将引导您修复 503 Service Unavailable 错误。

首先,我们将讨论导致此错误的原因以及您可能会看到它的原因。然后,我们将通过七种不同的可能解决方案来解决它。最后,我们将首先讨论如何避免看到此错误。

准备好修复 503 Service Unavailable 错误了吗?让我们开始吧!目录

  1. 什么是 503 服务不可用错误?
  2. 什么原因导致 503 服务不可用错误?
  3. 如何修复 503 服务不可用错误
  4. 您可以防止 503 服务不可用错误吗?
  5. 修复 503 HTTP 服务错误:总结

什么是 503 服务不可用错误?

503 错误示例

HTTP 503 服务不可用错误表示您网站的服务器不可用并且无法加载您的页面。它的名称有几种不同的变体,但通常看起来像这样:

  • 503 错误
  • HTTP 503 错误
  • HTTP 错误 503
  • 503 – HTTP 错误
  • 503服务不可用
  • 暂停服务
  • 服务器当前不可用
  • 服务器现在太忙,请稍后再试

如果我们查看技术文档,我们可以更详细地了解这意味着什么。

W3C 标志

W3.org 将 503 错误定义为:

由于服务器临时过载或维护,服务器当前无法处理请求。这意味着这是一种暂时的情况,经过一段时间的延迟会得到缓解。如果已知,延迟的长度可以在 Retry-After 标头中指示。如果没有给出 Retry-After,客户端应该像处理 500 响应一样处理响应。

他们还有一个说明,表明如果服务器超载,并不意味着它总是会显示 503 错误。有时它根本无法连接。

注意:503 状态码的存在并不意味着服务器在过载时必须使用它。一些服务器可能希望简单地拒绝连接。

Mozilla(火狐浏览器的制造商)也有类似的定义:

超文本传输​​协议 (HTTP) 503 Service Unavailable 服务器错误响应代码表示服务器尚未准备好处理请求。

常见原因是服务器因维护而停机或过载。此响应应用于临时条件,并且如果可能,Retry-After HTTP 标头应包含服务恢复的估计时间。

重要的是,此错误意味着您的网站在线,但无论出于何种原因都无法访问。

这与其他一些错误不同,这些错误表明您的网站完全离线或您的 DNS 设置存在问题。例如,DNS_PROBE_FINISHED_NXDOMAIN表示找不到您的域。

除此之外,错误消息不包含有关如何修复它的太多信息。它通常只会说“服务不可用”,这并不能帮助我们诊断问题。

不过不用担心,我们将介绍问题的所有最可能原因,并向您展示如何解决这些问题。

快速说明:如果您在插件或主题更新期间访问 WordPress 网站的前端,您可能会看到此消息。如果您目前正在更新内容,只需等待几分钟并刷新页面。

如果错误消失,那很可能是原因。

什么原因导致 503 服务不可用错误?

那么,是什么导致了错误呢?发生这种情况的原因有很多。服务器已关闭、太忙、正在维修或维护,或者您的特定站点与服务器的关系存在问题。

这也可能是您网站上的代码的问题,通常在特定插件中。

我们的使命是通过负担得起的软件产品和成功所需的教育帮助小型企业在线发展。

如果您想加入对话,请在下方发表评论,如果您需要个人帮助或私下与我们的团队互动,请单击此处。

您的服务器超载

如果您的服务器无法处理它正在接收的当前流量,您可能会收到 503 错误。这是使用共享托管计划的站点的常见问题,这些计划是托管范围中最便宜的一端。

因为你共享一个服务器,它上面的其他站点也会消耗服务器资源。

有问题的插件或主题

有时,编码不当的插件或主题可能会导致 503 错误。这通常是插件/主题的 PHP 代码的问题,然后导致服务器出现问题。这就是为什么您应该只安装来自可靠来源的可靠插件。

代码片段流氓

如果您向网站添加了自定义代码段,则可能会导致 503 错误。如果您添加任何自定义代码,请务必在PHPCodeChecker.com 等工具中进行检查。

PHP 代码检查器网站

此外,如果您不是程序员,在向您的站点添加自定义代码(尤其是 JavaScript 和 PHP)时,您应该始终非常小心。只需几次错误的击键就可以很容易地使您的网站脱机!

维护

如果您的服务器正在维护中,它通常会显示 503 错误。通常会有一条消息表明正在进行维护。

例如,WordPress 将显示一条简短消息,指示该站点正在维护中。当您更新处于活动状态且已启用的插件或主题时,就会发生这种情况。

网站维护通知中

大多数信誉良好的主机会在进行重大维护之前给您一个警告。大多数信誉良好的主机将拥有镜像服务器,这意味着您的网站将始终可用,无论当时可能发生什么维护。

服务器故障

有时,服务器会出现小故障、错误或其他问题。如果您使用网络托管计划(即不拥有自己的服务器),那么这有点超出您的控制。稍等一下,看看错误是否已解决。

根据您的虚拟主机,您还可以通过聊天和/或电子邮件联系支持人员,看看他们是否知道错误。大多数像SiteGround这样的主机都有按需聊天支持。

DDOS 攻击

最后,一个不常见但可能的原因是您的服务器正在被DDOS 攻击。这不太可能,但仍然会发生。

由于 DDOS 攻击本质上与服务器过载相同,因此您将收到相同的 503 消息。

如何修复 503 服务不可用错误

既然我们知道了 503 Service Unavailable Error 是什么以及导致它的原因,让我们来解决它!

如上所述,错误有许多不同的可能原因。因此有许多不同的潜在解决方案。

让我们一步一步地了解它们。

1.等待几分钟并刷新

在做任何事情之前,最好等待几分钟并刷新您的网站。通常,您的主机会在几分钟内快速解决服务器问题。

2.尝试不同的浏览器并使用隐身模式

浏览器隐身模式

同样,有时您的 cookie 和缓存会干扰网站。尝试以“私人”或“隐身”模式从不同的浏览器访问您的网站。

3. 停用您的 WordPress 插件并对其进行故障排除

还是有错误?然后,您应该做的第一件事是对插件进行故障排除。这样,我们可以确定问题是由您的站点本身引起的,还是与服务器有关。

要对插件进行故障排除,您需要停用它们。不幸的是,您无法在 WordPress 仪表板中以正常方式执行此操作,因为您的网站由于 503 错误而无法访问。

因此,要连接到您的站点,您需要使用 FTP/SFTP 或 SSH。如果您没有FTP 客户端,我们通常推荐FileZilla

FileZilla 网站

连接到您的站点。如果您不知道需要什么凭据,请询问您的主机或搜索“[主机名] 连接 FTP]”。例如,这里有一些通过 FTP 连接 SiteGround 的指南。

连接后,找到wp-content文件夹并单击它。然后,找到插件文件夹。

WordPress wp-内容文件夹

将此文件夹重命名为旧插件。然后,创建一个新文件夹并将其命名为plugins。这将停用您网站上的所有插件。

在浏览器中打开 WordPress 站点,查看 503 错误是否仍然存在。

  • 如果您仍然看到 503 错误,则该问题与插件无关。删除您创建的新插件文件夹,然后将旧插件重命名为仅插件。

    请注意,您的插件将全部停用,因此您需要在 WordPress 仪表板中重新激活它们(稍后,在您重新获得对它的访问权限之后。)
  • 如果您没有看到 503 错误,则表示该错误可能是由插件引起的。要找出它是哪一个,请转到 WordPress 仪表板中的插件面板,然后一次重新激活一个插件,然后检查每个插件的主页。

    当您发现罪魁祸首时,请再次通过 FTP/SFTP 或 SSH 连接到您的站点。导航到wp-content/plugins目录并删除该特定插件的文件夹。

4. 停用您的 WordPress 主题

仪表板中的 WordPress 主题

与插件类似,主题通常会导致此问题,特别是如果它是定制的或非标准的。

要停用您的主题,请首先通过 FTP/SFTP 或 SSH 连接到您的站点。在wp-content文件夹中,找到主题文件夹。

找到您现在已激活的主题并将其下载到您的计算机以妥善保管。然后,将其从 Web 服务器中删除。

文件夹中的 WordPress 主题

返回您的站点,查看 503 错误是否仍然存在。

  • 如果错误仍然存​​在,那么问题不是主题。您可以安全地重新安装它。
  • 如果错误不再存在,那么您知道主题是原因。联系主题的开发人员,看看他们是否可以解决问题并使用其他问题,直到他们解决为止。

5.启用WP_DEBUG

调试模式是 WordPress 中的一项设置,它将在您的站点上显示任何 PHP 错误(和其他错误)的日志。这是查看问题根源的绝佳方式。

WordPress 调试错误

有两种方法可以启用调试模式:使用插件和编辑 wp-config.php 文件。

不幸的是,由于我们被 503 错误锁定在我们的网站之外,我们无法安装和激活新插件。所以,我们必须修改 wp-config.php 文件。

如果您不熟悉 WP_DEBUG,请查看我们在 WordPress 中启用调试模式的完整指南。

否则,您需要通过 FTP/SFTP 或 SSH 访问您的站点。转到您的public_html文件夹并找到wp-config.php文件。

右击编辑它,然后找到写着“就是这样,停止编辑!出版愉快。”

在该行之前,添加以下代码:

define( 'WP_DEBUG', true);
define( 'WP_DEBUG_LOG', true);
启用 wp_dubug

最后,返回您的网站并重复导致错误的步骤。再次收到 503 错误后,切换回 FTP/SFTP 客户端并打开位于public_html/wp-content/debug.log 的文件。

您应该会看到所有错误的列表,其中一个有望指示导致您的 503 问题的原因。

6. 限制 WordPress 的“心跳”API

WordPress Heartbeat API 使用 AJAX 与您的服务器通信,这允许它在您的 WordPress 仪表板中实时显示一些信息。

例如,如果帖子正在被其他用户编辑,它将显示,这样您就可以避免重叠。

虽然心跳很有用,但它不是必需的,有时它会通过向您的服务器发送太多请求而导致问题。

通常,要禁用心跳,您可以安装心跳控制插件。但是,如果您遇到 503 错误,您将无法访问您网站的控制面板。

WordPress 心跳 API

在这种情况下,您需要通过 FTP/SFTP 或 SSH 连接到您的站点并找到functions.php文件。它在你的主题的文件夹中,在wp -content/themes/your-theme,用你当前的主题名称替换your-theme 。

在 functions.php 文件中,添加以下代码:

add_action( 'init', 'stop_heartbeat', 1 );
function stop_heartbeat() {
wp_deregister_script('heartbeat');
}

然后保存并重新加载您的网站。那里有错误吗?

当您更新主题时,此代码将被删除。因此,一旦您重新访问您的网站,我们建议您创建一个子主题,使用Astra Pro 中的自定义布局模块,或使用我们之前提到的Heartbeat Control插件。

7.增加服务器资源

由于 503 HTTP 错误是服务器错误,因此问题有时只是服务器资源不足。如果您使用共享托管计划或使用非常便宜的托管服务,通常会发生这种情况。

这里的简单解决方案是升级您的主机。我们通常推荐托管 WordPress 主机,因为它们可以帮助您解决许多此类问题。

但是,您也可以尝试升级 WordPress 网站上的 PHP 内存限制。您有四种不同的方式来执行此操作,所有这些方式都需要您通过 FTP/SFTP 或 SSH 访问您的站点。尝试以下选项之一:

  • 添加memory_limit = 256M ; 到php.ini文件。
  • 添加ini_set(‘memory_limit’,’256M’); wp-config.php文件。
  • 添加定义(‘WP_MEMORY_LIMIT’,’256M’); wp-config.php文件。
  • php_value memory_limit 256M添加到.htaccess 文件中。

8. 暂时禁用您的内容交付网络 (CDN)

最后,CDN有时可能是 HTTP 503 错误的罪魁祸首。虽然 CloudFlare 和其他服务通常可以防止错误发生,但有时数据中心中可能存在导致错误的轻微冲突。

尝试禁用您的 CDN,然后重新访问您的站点。如果加载成功,请与您的 CDN 联系并告诉他们该问题。

您可以防止 503 服务不可用错误吗?

正如他们所说,解决问题的最佳方法是首先避免它!那么有什么方法可以避免一开始就处理 503 服务不可用错误?

有两个非常简单的解决方案可以防止错误。

升级到更好的托管计划

避免 503 服务不可用错误的最简单方法是升级到更好的托管计划(在您当前的主机上)或完全升级到更好的托管公司。

导致错误的许多原因归结为没有足够的服务器资源或与您的 Web 服务器相关的问题。因此,升级主机是解决此问题的简单方法。

SiteGround 网络托管

在升级您的虚拟主机时,有两种选择:

  • 在您当前的托管服务提供商上选择更好的托管计划
  • 完全选择不同的托管服务提供商

我们通常建议使用托管 WordPress 托管计划,例如SiteGroundWPEngine

使用内容交付网络 (CDN)

防止 HTTP 错误 503 错误的另一种方法是使用像Cloudflare 这样的 CDN。这些服务将保护您的网站免受各种威胁,包括流量过载。

它们还将减少将您的网站提供给查看者所需的实际带宽量,从而减少服务器问题的可能性。

Cloudflare 主页

如果您预计在短时间内会有大量流量,这一点尤其重要。例如,如果您的网站在 Reddit 或 Twitter 上传播开来。

修复 503 HTTP 服务错误:总结

处理错误可能会令人沮丧,尤其是在您不具备技术倾向的情况下。但是,如果您知道该怎么做,它们中的大多数实际上都很容易解决。

503 服务不可用错误是一个常见问题,它会将您锁定在您的网站之外。值得庆幸的是,修复它通常很容易,不需要太多时间或精力。只需完成我们在这篇文章中介绍的不同步骤。

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注