Apache-2.2
當同時使用 mpm_prefork_module 和 mpm_worker_module 時會發生什麼?
我遇到了這個 Apache 配置:
<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 會發生什麼?這個配置讓我很擔心。
這個問題類似,但答案只說如何找到目前正在使用的 MPM,而不是標準行為是什麼,或者行為是否未定義。
兩者都無法使用 - 一次只能使用其中一個 MPM。
你如何配置使用哪個取決於你的發行版如何處理它,但你不應該在同一個執行實例中同時擔心兩者,因為這不可能發生。
預設情況下,當您從二進製文件(rpm、deb、…或通過 yum、apt-get、…)安裝它們時,它總是使用 prefork。如果你想和 worker 一起執行,需要從原始碼建構。但是如果你執行 fcgi php,worker 的工作效果最好。