我认为我已经在 Ubuntu 13.10 下正确配置了 Apache MPM 作为 worker,包括 PHP-FPM 和 FCGI,并且禁用了 mod_php。当我运行顶部我可以清楚地看到多个 Apache(~2-3 MB)和 php(~ 25-30 MB)进程正在运行,并且随着用户/请求的增加而增加。
现在,让我感到困惑的是,当我检查a2query-M返回:
prefork
或者apachectl -V:
Server MPM: prefork
threaded: no
forked: yes (variable process count)
这样可以吗?还是我在设置过程中遗漏了什么?
答案1
由于问题中缺少信息,因此这里只能进行一些猜测。假设 Apache 2.4 从 Ubuntu 存储库安装,其中标准 MPM 包含在安装中,因此您似乎只需要从 切换prefork
到worker
。注意:您只能在选择单个 MPM 的情况下启动 Apache,即您必须“dismod”当前 MPM,然后“enmod”所需的 MPM。
如果是,则使用以下命令进行切换:
a2dismod mpm_prefork
a2enmod mpm_worker
service apache2 restart
要在运行命令之前检查配置service apache2 restart
,您可以使用apache2ctl -t
。
还请注意:如果您未以 root 身份登录(您不应该这样做!),您可能需要在每个命令行前面加上以sudo
拥有足够的权限。