为/server-status 保留一个 http 槽?

为/server-status 保留一个 http 槽?

我有一个 Apache 服务器,由于某种原因挂起了。当我通常想要检查 Apache 服务器的负载时,我倾向于使用mod_status通过以下网址http://webserver1.example.org/server-status或从命令行像service httpd fullstatus

但是今天,服务器拒绝所有新连接。一些神秘的问题导致连接停滞,这意味着连接数填满了所有可用连接(例如,连接数超过设置MaxClients),因此http://webserver1.example.org/server-statusservice httpd fullstatus无法返回任何东西。

是否可以配置 Apache 来为 mod_status 页面保留一个或两个插槽?

答案1

请参见这个相关问题和@covener 的链接答案。您可以采取两种方法来处理您的问题。

  1. 检查 mod_backdoor(描述来源) 提供了一个提供记分牌的特殊端口,即使所有插槽都在使用中。
  2. 用一个记分牌文件它通过共享内存提供记分牌。您必须使用一个工具(即Apache2-ScoreBoard文件或者金融时报) 来解析二进制数据。

两种解决方案都相当复杂,但选项 2 由于共享内存而允许实时访问。

另外我打开了错误报告在 apache bugzilla。

答案2

连接数超出 MaxClients 设置

如果这不是由服务器流量过大或 MaxClients 设置过低(默认值通常就可以)引起的,那么问题可能是由 Apache 之外的原因引起的,而服务器状态对排除故障没有太大帮助。

话虽如此,当根文件系统的可用空间不足时,我确实看到了您描述的确切行为。尝试df -h查看磁盘空间是否不足。

相关内容