【问题标题】:Apachi httpd hangs on linux serversApache httpd 在 linux 服务器上挂起
【发布时间】:2018-05-16 08:47:21
【问题描述】:

在过去的几个月里,我们的生产 php 服务器遇到了一个重大问题:

在我们的 linux 服务器上运行的 httpd 挂起并且不响应新请求(直到请求超时),直到我们手动重新启动它。

我们已经记录了很多这个问题,我可以指出一些我们想要遵循的主要调查方向,但在开始研究之前,我想询问社区其他人是否可能遇到类似的问题。

我们正在运行 4 个 linux 服务器实例,版本: linux-2.6.32-71,红色有4.4.4-13
和 httpd 版本:2.2.15

我们运行的 php 版本是 5.5.15 和 5.5.10(每个版本有 2 个服务器)。

我们在日志中检测到一些可疑错误,但特别是在崩溃附近找不到特定错误:

  1. 服务器似乎很忙,(您可能需要增加 StartServers 或 Min/MaxSpareServers)生成 X 个子节点,有 Y 个空闲子节点和 Z 个子节点

  2. mod_wsgi 初始化 Python

  3. mod_wsgi 终止 Python
  4. mod_wsgi 清理解释器:''
  5. mod_wsgi:消灭干扰者
  6. KeyError(NUMBER) 被忽略
    这是一个 php 服务器,为什么会抛出 python 错误?

  7. 收到 SIGHUP。正在尝试重新启动 - * 检测到 glibc * /usr/bin/httpd: 损坏的双链表:ADDRESS ***

  8. 对等点重置连接:core_output_filter:将数据写入网络

    • 我们注意到每次发生错误时都会删除“/var/log/httpd/error_log”和“/var/log/httpd/access_log”。 我们在这个主题上遇到了很大的困难,如果有人可以帮助阐明这个问题,我们会非常感激。

非常感谢!

【问题讨论】:

标签: php python linux apache mod-wsgi


【解决方案1】:

如果这是一个 PHP 服务器,我不得不问你为什么要启用 mod_wsgi。

看:

WSGI 是一种通用 API 规范,用于在底层 Web 服务器和 Python Web 应用程序之间进行映射。 WSGI 本身由 Python PEP 3333 描述:

发件人:http://modwsgi.readthedocs.io/en/develop/user-guides/quick-configuration-guide.html

尝试禁用此模块,看看会发生什么。

【讨论】:

  • 在过去的 6 年里,我们启用了 mod_wsgi,事实是我不知道为什么,这是遗留问题。我们的项目中没有使用python,我们将禁用这个模块,但是为什么突然httpd没有响应请求?
  • 嗯,这真的很尴尬。但是,刚才我注意到了这一点:>“我们注意到每次发生错误时都会删除“/var/log/httpd/error_log”和“/var/log/httpd/access_log”。”你的意思是文件从光盘中删除?你检查过 rootkit 吗?
猜你喜欢
  • 2015-10-03
  • 1970-01-01
  • 1970-01-01
  • 2012-04-05
  • 2016-02-13
  • 1970-01-01
  • 2014-04-10
  • 1970-01-01
  • 2012-06-24
相关资源
最近更新 更多