WordPress 中的 504 错误:如何修复

已发表: 2023-10-26

您的网站是否遇到过 504 错误? 可怕的事情,不是吗?

当你经营一家企业时,永远不会缺少可能出错的事情。 造成这种现象的因素有很多,包括人为因素、技术因素,甚至环境因素。

当您将网站添加到其中时,灾难的机会就不会停止。 您存在潜在的安全漏洞、未检测到的停机时间,甚至糟糕的 UI/UX 设计等。

然而,假设你一切都做得很完美。 您拥有一个加载速度快的安全网站。

搜索引擎将其排名在第一个结果页面上。 然后您会收到“发生错误(状态:504)”。 怎么办? 您开始在 Google 上提问,“什么是 504 错误?”、“什么是 504 网关超时?”、“网关超时是什么意思?”以及“504 网关超时是什么意思?”。

什么是 504 错误?

在我们了解错误本身之前,了解它们是如何生成的非常重要。 当您启动浏览器并访问某个网站时,它会向其托管的 Web 服务器发送请求。

然后,该服务器处理该请求并将您请求的内容与 HTTP 标头一起发回。 此标头具有多种状态代码之一,用于在一切正常或存在问题时进行通信。 并非每个代码都是坏的 - 200 状态代码意味着没有任何问题。

就504错误而言,500状态错误代码有几种,例如500、501、503、504,它们都有不同的含义。 它们表明请求已被接受,但服务器阻止了请求的完成。

在这种情况下,504网关超时意味着服务器在等待另一台服务器响应时超时。 当请求涉及两台服务器并且第一个服务器在等待第二个服务器响应时超时时,您可能会收到 504 错误网关。

504 状态代码对您来说可能是什么样的

一些个别网站可以自由定制 504 错误代码的显示方式,但最常见的方式是:

  • 504网关超时
  • 504错误
  • 网关超时 (504)
  • HTTP 504

该错误将显示在浏览器窗口内,就像正常的网页一样。 您可能会看到页眉和页脚,以及一条不错的消息,或者您可能会看到一个全白的页面,并且顶部只有 504。 无论该特定网站如何显示,它都是相同的信息。

504错误的详细信息

如前所述,您的网站上随时可能会显示不同的 HTTP 状态代码。 例如,200 个状态代码表示一切正常。 300 状态代码意味着正在发生 URL 重定向。

400 状态代码会让您知道最终用户或“客户端”出现错误。 在这种情况下,浏览器、防火墙、互联网连接或代理设置有问题。 500状态码,例如504网关错误,意味着网站的服务器有问题。

当出现 504 错误代码时,您很可能会失去与网站的连接,或者无法连接到该网站。 这意味着网站的服务器确实收到了请求,但无法响应该请求,因为处理时间太长,并且超时。

当您想要解决网站上的 504 错误时,如果您想缩小问题根源,请注意措辞。 如果您有“NGINX”或某些特定网络主机或 CDN 提供商的名称,则问题出在主机方面,您应该联系他们,以便他们可以解决问题。

另一方面,如果错误消息是通用的,则问题可能出在您自己的配置上。 最常见的原因是服务器没有足够的内存或带宽来满足请求。 为了修复此错误,您需要相应地扩展资源。

如何修复网站上的 504 网关超时错误?

如上所述,确定此类错误的责任方实际上很简单。 该错误代码表示服务器端错误,因此要么是您的问题,要么是主机的问题。 然而,实际上有很多原因导致服务器无法传递请求并抛出 504 作为返回。

这只是暂时的吗?

如果您自己发现了该错误,并且没有其他人报告该错误,请刷新网站。 然后,清除浏览器缓存。 如果网站返回,可能只是服务器暂时出现故障,但您确实需要密切关注,以确保这种情况不会更频繁地发生。

您是否存在安全漏洞?

如果错误不是暂时的,您需要确保没有安全威胁,例如 DDoS 或类似的威胁。 检查您的安全插件,看看它们是否捕获了某些东西。 如果您聘请了安全提供商来管理此问题,请与他们联系。 无论哪种方式,您都需要排除这种情况,因为这里的危险不仅仅是服务器故障。

最近的迁移可能是原因吗?

如今,迁移网站相当普遍,并且成功完成并不是一件困难的事情。 但是,有些迁移(有些甚至像从 HTTP 迁移到 HTTPS 一样简单)可能会导致临时 504 错误。

发生这种情况是因为 DNS 记录尚未完全传播。 在此之前,您的网站将给出 504 错误。 如果一段时间后问题仍未解决,您将需要缓存客户端 DNS 服务器。

可以是数据库吗?

如果您认为应该归咎于 MySQL 数据库,请使用插件来修复它。 WP-DBManager 是一个很好的建议,已经被证明是有效的。

您修改过数据库文件吗?

如果有,这可能就是问题所在。 这不是整个数据库的问题,但如果其中一个文件中的某些内容被不当修改,则可能会导致服务中断。 要查看的特定文件是.htaccess文件 - 将其回滚到以前的版本,即更新之前的版本,然后查看是否解决了问题。

您安装了新主题或插件吗?

如果您在线搜索过 504 错误主题,您会发现插件经常被归咎于此。 这确实有道理——如果您没有花足够的时间仔细检查它们,新的插件或主题可能会导致 504 错误。

如果您可以查明错误开始出现的时间,您就知道在哪里添加新插件或进行升级。 如果您认为是您当时安装的插件造成的,请将其停用,然后查看问题是否仍然存在。 如果这还不行,请尝试对所有插件执行此操作,一次一个。 服务器响应时间减慢可能是由于缓存或更新不当的插件造成的。

CDN 可能是罪魁祸首

客户端出现 400 问题时,一种流行的故障排除方法是禁用代理。 这是因为代理实际上可能会阻止服务器将文件发送到您的浏览器窗口。

然而,我们这里有一个 500 错误,问题出在你身上,而不是客户端。 代理可能导致问题的唯一原因是 CDN 以某种方式或另一种方式阻碍了连接。 如果是这种情况,您会发现错误在通知中的某处包含 CDN 提供商的名称,您应该联系他们寻求帮助。

WordPress 504 错误常见问题解答

为什么我的 WordPress 网站上不断出现504 网关超时

好吧,当一台服务器没有及时收到另一台服务器的响应时,通常会弹出此错误。 这就像给朋友打电话而他们不接听一样。

这可能是由于服务器配置错误、网络托管问题,甚至是内容交付网络 (CDN)出现问题。 我知道这很令人沮丧。

504 错误和其他HTTP 状态代码有什么区别?

啊,好问题! 所以,504只是众多代码之一。 虽然它表示网关超时,但其他如 500 表示存在内部服务器错误,而 502 则表示网关错误

这就像服务器用来告诉我们发生了什么的秘密语言。 每个都有其自己的含义,在对 WordPress 进行故障排除时了解其中的差异非常重要。

有问题的WordPress 插件会导致此错误吗?

绝对地! 有时,流氓插件可能是罪魁祸首。 如果代码编写不当或者与网站的其他部分不能很好地配合,则可能会导致 504。

这就像在水果沙拉中添加一个坏苹果; 它破坏了这群人。 如果您遇到此错误,请务必检查您的插件。

主题冲突如何导致 504 错误?

主题就像 WordPress 网站的服装。 有时,它们会与插件甚至核心 WordPress 软件发生冲突。 当他们这样做时,砰! 您可能会收到 504。确保您的主题已更新并与您正在使用的其他所有内容兼容至关重要。

为什么我的数据库连接很重要?

将数据库视为 WordPress 网站的大脑。 如果连接出现问题,您的网站可能会出现问题,导致错误,包括可怕的 504。始终确保您的数据库连接设置正确。

Web 服务器配置如何把事情弄乱?

服务器就像网站的机房。 如果配置出现问题,无论是 Apache、Nginx 还是其他软件,都可能导致 504 错误。 这就像搭帐篷一样; 如果你做得不对,它就会崩溃。

PHP 超时是怎么回事?

PHP 脚本是让您的网站正常运行的魔法。 但如果它们花费的时间太长,它们可能会超时,导致 504。这就像永远在队列中等待一样; 在某些时候,你就会放弃。 确保脚本高效运行至关重要。

反向代理如何适应这一切?

像 Nginx 这样的服务器可以充当反向代理,引导网络流量。 如果此处配置错误,可能会导致 504 错误。 想象一下,它是一名指挥车辆的交警; 如果他们给你指明了错误的方向,你最终就会迷路。

防火墙设置可能是偷偷摸摸的原因吗?

哦,当然! 防火墙就像网络世界的保镖。 如果它们阻止必要的连接,您可能会遇到 504 错误。 请务必仔细检查您的设置,以确保它们不会过于严格。

DNS 问题如何导致 504?

DNS 就像互联网的电话簿。 如果出现问题,您的站点可能无法正确连接,从而导致各种错误,包括 504。请始终确保您的 DNS 设置准确且最新。

结束对 504 错误的思考

正如您所看到的,您的网站上不乏尝试修复此类错误的方法。 它们通常是服务器端的,您可以联系您的主机来修复问题。 但是,您应该知道它们也可能是由插件甚至主题以及压垮 PHP 工作队列或积压造成的。

如果您喜欢阅读这篇关于如何修复 504 错误的文章,您应该查看这篇关于如何修复 WordPress 白屏死机的文章。

我们还写了一些相关主题,例如修复上传图像时的 WordPress http 错误、如何修复过多的重定向、如何修复 WordPress 不发送电子邮件、如何修复 err_ssl_version_or_cipher_mismatch 以及修复 502 bad gateway 错误。