我正在使用 prefork 运行 Apache Apache/2.4.25 (Amazon),并尝试调整 ServerLimit 和 MaxRequestWorkers。我使用以下设置:
<IfModule prefork.c> ServerLimit 40 MaxRequestWorkers 40 </IfModule>
问题是,如果我在 /etc/http/conf.d/prefork.conf 中添加这些设置,尽管通用 /etc/httpd/conf/httpd.conf 具有以下指令设置,它们也会被忽略:
IncludeOptional conf.d/*.conf
conf.d/ 中存在的其他配置文件似乎已被解析,但这个没有。因此,我可以调整限制的唯一方法是直接编辑 /etc/httpd/conf/httpd.conf 并放置上述内容。为什么不从 conf.d/*.conf 文件中读取值?还有其他人遇到过这个问题吗?任何帮助都将不胜感激。谢谢。
答案1
您是否检查了 的权限/etc/http/conf.d/prefork.conf
。如果您以 或其他用户身份创建了该文件root
,并且权限不为o+r
,则 apache 用户可能无法读取该文件。
这很可能在服务器日志中可见。
另一个问题可能是,如果ServerRoot
没有设置为/etc/http/
,包括可选不起作用。您可以尝试将其设置为完整路径:
IncludeOptional /etc/http/conf.d/*.conf