当使用mpm_prefork_module和mpm_worker_module时会发生什么?

我遇到了这个Apacheconfiguration:

<IfModule mpm_prefork_module> StartServers 16 MinSpareServers 16 MaxSpareServers 32 ServerLimit 400 MaxClients 400 MaxRequestsPerChild 10000 </IfModule> <IfModule mpm_worker_module> StartServers 4 MaxClients 1024 MinSpareThreads 64 MaxSpareThreads 192 ThreadsPerChild 64 MaxRequestsPerChild 0 </IfModule> 

目前,只安装了mpm_prefork_module。 但是如果mpm_worker_module安装在服务器上会发生什么? 这种configuration令我担心。

这个问题是相似的,但答案只是说如何find当前使用的MPM,而不是标准的行为是什么,或者如果行为是未定义的。

两者都不可能被使用 – 一次只能使用一个MPM。

如何configuration正在使用的是取决于你的发行版如何处理它,但你不应该同时在同一个运行实例中担心,因为这是不可能发生的。

当你从二进制文件(rpm,deb,…或者通过yum,apt-get,…)安装它们时,默认使用prefork。 如果你想和工作人员一起运行,需要从源代码构build。 但是,如果您运行fcgi php,工作者最好工作。