如何在Apache 2.4,Debian 8上将MPM Prefork切换到Event?我已经安装了php-7和php-fpm,但找不到完整的教程来切换MPM Prefork到Event。我尝试过这个,但是MPM Prefork仍然在运行而不是Event。
su
export PATH=$PATH:/sbin
a2dismod php7.1
a2dismod mpm_prefork
a2enmod mpm_event
a2enmod proxy_fcgi
a2enconf php7.1-fpm
systemctl restart apache2
php7.1-fpm
, 您可以在执行之前使用 apt-get install php7.1-fpm
进行安装,或者您可以使用 dpkg -l {package_name}
检查是否已经安装。最后,您可以使用 apachectl -V
确认所进行的操作。首先,执行 a2query -M
命令来检查当前的 mpm_worker(可以是 prefork、event 或 worker)。
假设当前是 prefork
,如果你想切换到 mpm_event
,请前往 /etc/apache2/mods-enabled
目录并执行 ls -la
命令,会看到 mpm_prefork.conf 和 mpm_prefork.load
的符号链接。
然后将 mpm_prefork
的链接重命名为其他名称(例如 mpm_prefork2.conf 和 mpm_prefork2.load
)。
要重命名,请运行以下命令:cd /etc/apache2/mods-enabled
,然后执行:
mv mpm_prefork.conf mpm_prefork2.conf
&
mv mpm_prefork.load mpm_prefork2.load
最后,创建新的符号链接 mpm_event.conf 和 mpm_event.load
,从 /mods-available 到 /mods-enabled,如下所示:
sudo ln -s /etc/apache2/mods-available/mpm_event.load /etc/apache2/mods-enabled/mpm_event.load
sudo ln -s /etc/apache2/mods-available/mpm_event.conf /etc/apache2/mods-enabled/mpm_event.conf
sudo service apache2 restart
。现在,执行 a2query -M
命令,它将显示 event
。
您已成功将 mpm_prefork 切换到 mpm_event
.conf
文件,而是使用a2enmod
和a2dismod
命令。如果有潜在的配置问题,你还可以获得通知,例如模块php7.x
与mpm_event
不兼容,因此你需要先用a2dismod
禁用它,然后执行以下两个命令:sudo a2dismod mpm_prefork
sudo a2enmod mpm_event
sudo
(更安全,也不需要路径):sudo a2dismod phpX.X mpm_prefork
&&sudo a2enmod mpm_event proxy proxy_fcgi
&&sudo a2enconf phpX.X-fpm
&&sudo systemctl restart apache2
<- 替换成你的 PHP 版本。参见 https://wiki.debian.org/sudo - B. Sheaproxy_fcgi
,但是你需要添加proxy
模块,因为它是一个依赖项:请参见我最后的评论->sudo a2enmod mpm_event proxy proxy_fcgi
- 请参见https://httpd.apache.org/docs/2.4/mod/mod_proxy_fcgi.html的依赖关系 - “此模块需要mod_proxy的服务。” - B. Shea