当你在你的wordpress网站上看到503错误时,请不要担心,其实有很多方法可以解决。比如503服务不可用的错误就是一个例子。虽然它看起来是技术性的和混乱的,但它实际上是一个相当简单的错误。解决方案也很容易做到,不需要任何深厚的技术知识。在这篇文章中,搬主题将指导你修复503服务不可用错误。
原文引用:修复wordpress的http 503服务不可用错误解决办法 - 搬主题
首先,我们将讨论导致这个错误的原因,以及为什么你可能看到它。然后,我们将通过七个不同的可能解决方案来解决这个问题。最后,我们将讨论如何避免在第一时间看到这个错误。
一、什么是503服务不可用
http 503服务不可用错误表明你的网站的服务器不可用,不能加载你的页面。它的名称有一些不同的变化,但它通常看起来像这样:
- 503错误
- http 503错误
- http错误503
- 503--http错误
- 503服务不可用
- 服务不可用
- 该服务器目前不可用
- 服务器现在太忙,请稍后再试。
如果我们看一下技术文档,我们可以看到更多关于这到底意味着什么的细节。
w3.org对503错误的定义是:
由于服务器的临时超载或维护,服务器目前无法处理该请求。其含义是,这是一个暂时性的状况,经过一些延迟后会得到缓解。如果知道,延迟的长度可以在retry-after头中指出。如果没有给出retry-after,客户端应该像处理500响应那样处理该响应。
他们也有一个说明,如果一个服务器超载,并不意味着它总是显示503错误。有时它根本就不会连接。
注意:503状态代码的存在并不意味着服务器在过载时必须使用它。有些服务器可能希望简单地拒绝连接。而mozilla(火狐浏览器的制造商)也有一个类似的定义。
超文本传输协议(http)503服务不可用的服务器错误响应代码表明服务器没有准备好处理该请求。
常见的原因是服务器因维护而停机或超载。这个响应应该用于临时情况,如果可能的话,重试后的http标头应该包含服务恢复的估计时间。
重要的是,这个错误意味着你的网站是在线的,但由于某种原因不能被访问。
这与其他一些错误不同,这些错误表明你的网站完全离线,或者你的dns设置有问题。例如,dns_probe_finished_nxdomain表示找不到你的域名。除此以外,错误信息并没有包含太多关于你应该如何解决的信息。它通常只会说,"服务不可用",这并不能帮助我们诊断出问题。
不过不用担心,我们将通过所有最可能的问题原因,告诉你如何解决这些问题。一个简短的说明:如果你在插件或主题更新期间访问你的wordpress网站的前端,你可能会看到这个消息。如果你目前正在更新东西,只需等待几分钟并刷新页面。
如果错误消失了,这很可能就是原因。
二、什么原因导致503服务不可用
那么是什么导致了这个错误呢?发生这种情况的原因有很多。服务器停机了,它太忙了,它正在修理或维护,或者你的特定网站与服务器的关系有问题。它也可能是你网站上的代码问题,通常是在一个特定的插件中。
1、你的服务器过载
如果你的服务器不能处理它目前收到的流量,你可能会收到503错误。对于使用共享主机计划的网站来说,这是一个常见的问题,因为共享主机计划处于主机的最便宜的一端。
因为你在共享一台服务器,服务器上的其他网站也会消耗服务器资源。
2、有问题的插件或主题
有时,一个编码不当的插件或主题会导致503错误。这通常是插件/主题的php代码的问题,然后导致服务器的问题。这就是为什么你应该只安装来自可靠来源的可靠插件。
3、有问题的代码片段
如果你在你的网站上添加了一个自定义代码段,它可能会导致503错误。如果你添加了任何自定义代码,一定要在phpcodechecker.com这样的工具中检查。
此外,如果你不是一个程序员,在向你的网站添加自定义代码(特别是javascript和php)时,你应该始终非常小心。只要按错几下键盘,就很容易使你的网站下线。
4、维护
如果你的服务器正在进行维护,通常会显示503错误。通常会有一条信息,表明正在进行维护。例如,wordpress会显示一个简短的信息,表明网站正在维护中。当你更新激活并启用的插件或主题时就会发生这种情况。
大多数有信誉的主机在做重大维护之前会给你一个警告。大多数有信誉的主机都有镜像服务器,这意味着你的网站将始终可用,无论当时可能发生什么维护。
5、服务器故障
有时,服务器会出现一些小故障、错误或其他问题。如果你使用网络托管计划(即不拥有自己的服务器),那么这在一定程度上是你无法控制的。只要等待一下,看看错误是否得到解决。根据你的虚拟主机,你也可以通过聊天和/或电子邮件联系支持,看看他们是否意识到这个错误。
6、ddos攻击
最后,一个不常见但可能的原因是,你的服务器被ddos攻击了。这不太可能,但仍然发生。由于ddos攻击在本质上与你的服务器过载是一样的,你会收到同样的503信息。
三、如何修复503服务不可用
现在我们知道了什么是503服务不可用的错误,以及是什么原因造成的,让我们来解决这个问题吧!
如上所述,有许多不同的可能导致该错误的原因。因此,也有许多不同的潜在解决方案。让我们一步一步地去了解它们。
1. 等待数分钟并刷新
在做任何事情之前,最好先等几分钟,刷新一下你的网站。通常情况下,服务器问题会在几分钟内由你的主机迅速解决。
2. 尝试不同的浏览器并使用隐身模式
同样,有时你的cookies和cache会干扰网站。试着在 "私人 "或 "隐身 "模式下从不同的浏览器访问你的网站。
3. 停用和排除你的wordpress插件的故障
仍然有这个错误?那么,你应该做的第一件事就是对你的插件进行故障排除。这样,我们可以弄清楚问题是由你的网站本身引起的,还是由服务器引起的。
要排除你的插件的故障,你需要停用它们。不幸的是,你不能用wordpress仪表板的正常方法来做这个,因为你的网站由于503错误而无法访问。所以,要连接到你的网站,你需要使用ftp/sftp或ssh。如果你没有一个ftp客户端,我们一般推荐filezilla。
连接到你的网站。如果你不知道你需要什么证书,请询问你的主机或搜索"[主机名称]连接ftp"。例如,这里有一些关于通过ftp连接siteground的指南。一旦你连接好了,找到wp-content文件夹并点击它。然后,找到插件文件夹。
把这个文件夹重命名为old-plugins。然后,创建一个新的文件夹,并将其命名为plugins。这将停用你网站上的所有插件。
在浏览器中打开你的wordpress网站,看看503错误是否仍然存在。
- 如果你仍然看到503错误,那么这个问题就与插件无关。删除你创建的新插件文件夹,然后把old-plugins重命名为plugins。
- 注意,你的插件将全部被停用,所以你需要在wordpress的仪表板上重新激活它们(稍后,在你重新获得访问权之后)。
- 如果你没有看到503错误,这意味着这个错误可能是由一个插件引起的。要找出是哪一个,请到wordpress仪表板的插件面板上,一个一个地重新激活插件,在每个插件之后检查主页。
- 当你发现罪魁祸首时,再次通过ftp/sftp或ssh连接到你的网站。导航到wp-content/plugins目录,删除该特定插件的文件夹。
4. 停用你的wordpress主题
与插件类似,主题也经常会导致这个问题,特别是如果它是一个定制的或非标准的主题。要停用你的主题,首先通过ftp/sftp或ssh连接到你的网站。在wp-content文件夹中,找到主题文件夹。找到你现在已经激活的主题,并把它下载到你的电脑上保存起来。然后,从网站服务器上删除它。
回到你的网站,看看503错误是否仍然存在。
- 如果错误仍然存在,那么问题就不在主题上。你可以安全地重新安装它。
- 如果错误不再存在,那么你就知道是主题的原因了。联系该主题的开发者,看看他们是否能解决这个问题,并在他们解决之前使用一个不同的主题。
5. 启用wp_debug
wp_debug调试模式是wordpress的一个设置,它将在你的网站上显示任何php错误(和其他错误)的日志。这是一个很好的方法,可以准确地看到一个问题的来源。
有两种方法可以启用调试模式:使用一个插件和编辑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);
最后,回到你的网站,重复导致错误的步骤。一旦你再次收到503错误,切换回你的ftp/sftp客户端,打开public_html/wp-content/debug.log的文件。你应该看到一个任何错误的列表,其中有一个希望能指出是什么导致了你的503问题。
6. 限制wordpress的 "心跳"api
wordpress heartbeat api使用ajax与你的服务器进行通信,这使得它可以在你的wordpress仪表板上实时显示一些信息。
例如,它将显示一个帖子是否正在被另一个用户编辑,这样你就可以避免重叠。虽然心跳是有用的,但它不是必需的,有时它可能会向你的服务器发送太多的请求而导致问题。
通常情况下,要禁用心跳,你可以安装心跳控制插件。然而,如果你出现503错误,你将无法访问你的网站的控制面板。
在这种情况下,你需要通过ftp/sftp或ssh连接到你的网站,并找到function.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中的自定义布局模块,或者使用我们前面提到的心跳控制插件。
7. 增加服务器资源
由于503 http错误是一个服务器错误,这个问题有时只是缺乏服务器资源。如果你使用的是共享主机计划或使用的是非常便宜的主机服务,这种情况经常发生。
这里的简单解决方案是升级你的主机。我们一般推荐管理的wordpress主机,因为它们可以帮助你解决许多这样的问题。然而,你也可以尝试升级你的wordpress网站的php内存限制。你有四种不同的方法来做这件事,所有这些都需要你通过ftp/sftp或ssh来访问你的网站。试试下面的选项之一:
- 在php.ini文件中加入 memory_limit = 256m;
- 在wp-config.php文件中加入ini_set('memory_limit','256m');
- 在wp-config.php文件中加入define('wp_memory_limit','256m');
- 在.htaccess文件中添加php_value memory_limit 256m
8. 暂时停用你的内容交付网络(cdn)
最后,当涉及到http 503错误时,cdn有时可能是罪魁祸首。虽然cloudflare和其他服务通常会阻止错误的发生,但有时在数据中心可能会有小的冲突,导致它。
尝试禁用你的cdn,然后重新访问你的网站。如果加载成功,请与你的cdn联系,告诉他们这个问题。
四、你能防止503服务不可用吗
俗话说,解决问题的最好方法是首先避免问题的发生!那么,有没有什么方法可以避免一开始就遇到503服务不可用的错误?那么,有没有什么方法可以让你在一开始就避免处理503服务不可用的错误?
有两个非常简单的解决方案来防止这个错误。
1、升级到一个更好的主机套餐
避免503服务不可用错误的最简单方法是升级到一个更好的主机计划(在你目前的主机上)或完全升级到一个更好的主机公司。
许多错误的原因归结为没有足够的服务器资源或与你的网络服务器有关的问题。因此,升级你的主机是解决这个问题的一个简单方法。
当谈到升级你的虚拟主机时,有两个选择。在你目前的主机供应商上挑选一个更好的主机计划,挑选一个完全不同的主机供应商
我们通常建议使用一个管理的wordpress主机计划,如siteground或wpengine。
2、使用内容交付网络(cdn)
防止http error 503错误的另一个方法是使用cdn,如cloudflare。这些服务将保护你的网站免受各种威胁,包括流量过载。它们还将减少向观众提供你的网站所需的实际带宽量,这就减少了服务器问题的可能性。
如果你预计在短时间内有大量的流量,这一点尤其相关。例如,如果你的网站在reddit或twitter上出现病毒式传播。
五、修复503 http服务错误的总结
处理错误可能是令人沮丧的,尤其是当你不懂技术的时候。然而,如果你知道该怎么做,大多数错误实际上是很容易解决的。503服务不可用的错误是一个常见的问题,它把你的网站锁在外面。值得庆幸的是,修复它通常很容易,不需要太多的时间和精力。只要通过我们在这篇文章中涉及的不同步骤就可以了。以上就是搬主题分享的修复wordpress的http 503服务不可用错误解决办法。