/etc/apache2/apache2.conf 中没有找到 prefork 和 worker 设置 - 为什么?

/etc/apache2/apache2.conf 中没有找到 prefork 和 worker 设置 - 为什么?

我刚刚在 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。

相关内容