阿帕奇崩溃/ hangup doesnt服务请求

在某些时候,Apache似乎挂断了,不再提供服务请求,或者永远持续下去。 我检查了错误日志。 当我做apachctl停止并再次启动apache再次工作时不显示任何错误

你的错误日志说什么?

grep -i maxclient /var/log/httpd/error_log* 

(认为​​这可能是一个最大的客户问题..因此,search的原因)

有可能你的httpd.conf文件需要调整。 这就是说让我们开始吧。

几乎总是httpd.conf位于@在同一个地方 – 我希望你是舒适的shell以及您所select的编辑器…我将在这个解释中使用NANO。

首先完成这个命令:

 cp /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.bkup.beforeItuned 

接下来使用下面的命令在你的编辑器中打开原始的httpd.conf文件:

 nano /etc/httpd/conf/httpd.conf 

然后使用“Control-W”打开search命令并inputTimeout – 你应该看到类似的东西

 Timeout = 120 

改变它

 Timeout = 20 

按下Control-X键,然后保存覆盖原稿的文件

最后 – 重新启动Apache使用:

 /etc/init.d/apache2 restart 

遵循上述说明 – 您还可以编辑其他一些设置:

一定要一次做一个改变,以确保每个工作…慢,比主要的变化和主要的崩溃要好

search以下部分:prefork MPM(或只是prefork)

 <IfModule prefork.c> StartServers 2 MinSpareServers 1 MaxSpareServers 5 MaxClients 10 MaxRequestsPerChild 1000 </IfModule> 

并根据您的服务器的级别更改为以下内容之一:

基础级服务器(小资源):

 <IfModule prefork.c> StartServers 1 MinSpareServers 1 MaxSpareServers 3 MaxClients 50 MaxRequestsPerChild 1000 </IfModule> 

中级服务器(中等资源):

 <IfModule prefork.c> StartServers 2 MinSpareServers 2 MaxSpareServers 5 MaxClients 100 MaxRequestsPerChild 1000 </IfModule> 

更大级别的服务器(更大的资源):

 <IfModule prefork.c> StartServers 2 MinSpareServers 2 MaxSpareServers 5 MaxClients 200 MaxRequestsPerChild 1000 </IfModule> 

无论如何 – 这应该是一个体面的开始 – 当然,你会想继续调整,以获得最佳的解决scheme。

快乐编辑:-)

这对你有帮助吗? 一定要对这个答案进行投票

Apache可能会因为多种原因而崩溃。 可能性包括

  1. httpd.conf或.conf中的configuration不正确
  2. 交通
  3. 内存使用情况
  4. 不正确的模块configuration
  5. 时间更新?
  6. 也许你是因为利用而被打的?

你的问题非常模糊,所以我首先看一下你的httpd.conf,如果你使用模块化编译,请尝试阻止你不需要加载的模块。 这些行看起来像这样: LoadMoudle mod_rewrite modules/mod_rewrite.so对此LoadMoudle mod_rewrite modules/mod_rewrite.so影响。 如果您不使用它们,请closures它们。

接下来,看看你正在运行的是哪个版本。 如果它是一个PHP应用程序,请调整脚本内存使用情况。 还要看看您configuration了多less个客户端,以便在任何时候都可以提供服务。

让我们变得真实:名单可能长达一英里,远远超出了我在这个特定时间解释的能力。 我强烈推荐Apache性能调优文档,该文档详细介绍了一些可靠的源代码。

多年来,我亲身体验过许多服务器问题 – 它们发生了。 自动化你如何回应他们。 在您需要参与之前,让计算机有机会处理事件。 我强烈build议Monit作为一个强大而有能力的工具,而不要使用Nagiosconfiguration。 Monitconfiguration使用清晰简洁的语法。

祝你好运。

检查它可以同时处理的请求的数量。 查看HTTPD.CONF文件。

Apache挂起可能有很多原因。 没有足够的联系只是一个潜在的原因,所以不要假设任何东西。 我检查的第一件事,如果Apache行事奇怪:

  1. 错误日志当然。
  2. 尾随访问日志查看是否有任何请求正在处理。
  3. 用htop或top检查系统负载,看Apache是​​否忙碌。
  4. 使用strace -p $APACHE_PID来窥探Apache正在做什么。
  5. 启用PHP错误日志logging到文件。 许多Linux发行版默认不loggingPHP错误。