我一直在尝试提高 Apache 中的 MaxClients,以适应相当高流量的网站。
但我一直收到这个错误:
警告:MaxClients 为 565,超出了 ServerLimit 值 256, 将 MaxClients 降低至 256。若要增加,请参阅 ServerLimit 指示。 语法正确
经过一番搜索后,我已包括:
启动服务器 5 最小备用服务器 15 最大备用服务器数 30 服务器限制 565 最大客户数 565 每个孩子的最大请求数 2000
正常重启后,警告不再出现,一切似乎正常。
然而,检查我的 apache error.log 后,警告仍然存在。
** [通知] 请求优雅重启,正在重启 警告:MaxClients 为 565,超出了 ServerLimit 值 256, 将 MaxClients 降低至 256。若要增加,请参阅 ServerLimit 指示。 ** [警告] 警告:尝试更改重新启动期间忽略的 ServerLimit
ServerLimit 会产生影响吗?由于平滑重启起作用了...有人能解释一下吗?
干杯!
答案1
我认为您需要停止并启动 httpd(以便停止并启动“主”httpd 进程,而不仅仅是子进程)。从 Apache 文档的条目服务器限制:
“在重启期间更改此指令的任何尝试都将被忽略,但可以在重启期间修改 MaxClients。”
答案2
实际上,你必须确保两件事才能使其生效:
- 重新启动 apache,而不是仅仅重新加载
- 确保
ServerLimit
前MaxClients
在 Apache 配置中,否则 Apache 将MaxClients
首先读取并产生相同的错误
还有其他非常明显的警告,如确保它不在错误的位置,<If>
例如在未读取的块内。
答案3
apachectl graceful
行不通,更重要的是apachectl restart
行不通。
解决方案是 /etc/init.d/httpd restart
或service httpd restart