ServerLimit和MaxClient问题

我一直试图提高我的MaxClients在apache相当高的交通网站..

但是我不断收到这个错误:

 警告:565的MaxClients超过256个服务器的ServerLimit值,
 将MaxClients降低到256.要增加,请参阅ServerLimit
 指示。
语法OK 

所以经过一番search,我已经包括:

     StartServers 5
     MinSpareServers 15
     MaxSpareServers 30
     ServerLimit 565
     MaxClients 565
     MaxRequestsPerChild 2000

做了一个平稳的重启之后,警告没有发生,一切似乎都没问题。

但是,检查我的apache error.log后,警告仍然存在。

 ** [通知]请求平稳重启,重启
警告:565的MaxClients超过256个服务器的ServerLimit值,
 将MaxClients降低到256.要增加,请参阅ServerLimit
 指示。
 ** [警告]警告:尝试更改在重新启动时忽略ServerLimit

ServerLimit会起作用吗? 当优雅的重新启动工作…任何人都可以摆脱一些光?

干杯!

我认为你需要停止并启动httpd(这样“主”httpd进程停止并启动,而不仅仅是subprocess)。 从ServerLimit上的Apache文档条目:

“在重新启动期间任何尝试改变这个指令都将被忽略,但MaxClients可以在重新启动时被修改。

您必须确保两件事才能生效:

  • 重新启动Apache而不是仅仅重新加载
  • 请确保ServerLimit在Apacheconfiguration中位于MaxClients 之前 ,否则Apache将首先读取MaxClients并产生相同的错误

还有一些非常明显的警告,例如确保它不在错误的地方,例如在一个<If>块中。

apachectl graceful将无法正常工作, apachectl restart也将不起作用。

解决办法是/etc/init.d/httpd restartservice httpd restart