微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php – Apache 2.4没有关闭连接

我有一个Apache 2.4网络服务器,可以在带有CentOS的AWS微实例上运行.
apache运行带有prefork MPM模块的 PHP.
通过Amazon负载均衡器访问服务器,该负载均衡器具有运行状况检查,该检查尝试每60秒访问服务器的index.PHP网页.

问题是,1-2天后,Apache使用index.PHP页面以某种方式达到256个打开的进程,并给出以下错误

[Sun Sep 08 02:13:00.356051 2013] [mpm_prefork:error] [pid 1201] (12)Cannot allocate memory: AH00159: fork: Unable to fork new process
[Sun Sep 08 02:13:13.656694 2013] [mpm_prefork:error] [pid 1201] AH00161: server reached MaxRequestWorkers setting,consider raising the MaxRequestWorkers setting

通常在发生这种情况时,不再接受新的http连接.

Apache可能不会关闭负载均衡器的所有连接.
我们有另一台带有Apache 2.2的服务器,它没有这个问题,所以问题可能是2.4版本与2.2大不相同(我们没有更改Apache的任何认配置).

mod_status已启用,这是我们在发生这种情况时可以获得的输出
http://www.speedyshare.com/vE3My/server-status.txt

有谁知道我们如何处理这个问题?

提前致谢!

我发现apache进程在无限期重复使用时会膨胀(泄漏内存),值得在httpd.conf中设置MaxRequestsPerChild 200并重新启动.

原文地址:https://www.jb51.cc/php/139428.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐