Apache:503 服务不可用

Apache:503 服务不可用

我有一个安装了 apache 2.0 的 Web 服务器。有时,可能当负载增加时,它会显示一个空白页并显示 503 服务不可用。

服务器负载不是太高,apache配置中有没有解决这个问题的方案?

谢谢

答案1

您可以尝试更改为不同的 MPM(您可以在配置中执行此操作),或者调整 MPM 的参数。例如,如果您使用的是 prefork 或 worker MPM,则可以增加 MaxClients 值。在后一种情况下,ThreadsPerChild 也可能是一个有用的配置值,可以进行调整。

您可以在标准 Apache 文档中找到有关 MPM 的信息。

但是,除非你运行的网站非常繁忙,否则我完全不会惊讶于你看到 503 错误 - 是否有可能有一些非常慢的服务器端代码占用了 Apache 请求太长时间?如果是这样,那么与仅仅尝试在 Apache 中解决这个问题相比,改进它可能会获得更多的收益。

答案2

您可以尝试设置 mod_status 来深入了解您的服务器

Listen 127.127.127.127:10127

ExtendedStatus On

<VirtualHost 127.127.127.127:10127>
    ServerName 127.127.127.127:10127

    #
    # Allow server status reports generated by mod_status
    #
    <Location /server-status>
        SetHandler server-status
    </Location>

</VirtualHost>

状态虚拟主机已绑定到您服务器上的本地主机。您可以使用文本模式浏览器(如 elinks)访问它,或者通过 ssh 将该端口转发到您的机器。

答案3

检查错误日志,默认情况下位于

/var/log/httpd/error_log

如果它提到你是我们的工作进程,那么这可能是你的问题。

答案4

对我来说,答案有点不同。似乎有人想限制“下载”文件夹的使用。后来忘记了它不应该用于图像。

因此,当尝试加载一个包含 16 张图片(全部来自“下载”文件夹)的页面时,错误日志会显示大量 503 错误。

提高 MaxConnPerIP 的限制(我设置为 20)或完全删除可以解决我的问题。

<IfModule mod_limitipconn.c>
    <Location /Downloads>
        # This section affects all files under http://domain.com/Downloads
        MaxConnPerIP 2
    </Location>
</IfModule>

相关内容