我刚刚在 Ubuntu 14.04 LTS 系统上安装了 Apache 2.4.7 (Ubuntu),但在 /etc/apache2/apache2.conf 中看不到 prefork 和 worker 设置。它们也没有为默认虚拟主机定义。我应该像这样在 apache2.conf 中自行设置它们吗?
<IfModule mpm_prefork_module>
StartServers 2
MinSpareServers 2
MaxSpareServers 5
MaxClients 200 #must be customized
ServerLimit 200 #must be customized
MaxRequestsPerChild 100
</IfModule>
答案1
Ubuntu 14 将所有模块特定的配置组织在 下的单独文件中/etc/apache2/mods-available/
,因此 MPM prefork 内容现在位于/etc/apache2/mods-available/mpm_prefork.conf
答案2
您是否在 中查找过这些设置/etc/apache2/conf.d/
?这些设置可能保存在单独的包含文件中,以协助打包。
我应该像这样在 apache2.conf 中自己设置它们吗?
<IfModule mpm_prefork_module> StartServers 2 MinSpareServers 2 MaxSpareServers 5 MaxClients 200 #must be customized ServerLimit 200 #must be customized MaxRequestsPerChild 100 </IfModule>
conf.d/
是的,您可以将它们放在 apache2.conf 中(尽管如上所述,请在其他文件中寻找它们)。
您的 MaxRequestsPerChild 似乎非常低 - 可能有数千个。
如果您正在运行 mod_php,您的 MaxClients 应该会显著降低,除非您有许多 GB 的 RAM。