将Apache的MPM从prefork改为worker

6
我需要将MPM prefork模块更改为worker,但在我的Debian 9.1上无法正常工作。启用worker模块后,PHP无法工作,我无法重新启用php7.0模块。
以下是控制台输出:
root@Debian-91-stretch-64-LAMP ~ # apachectl -V | grep -i mpm
AH00558: apache2:无法可靠地确定服务器的完全限定域名,使用2a01:4f8:171:fc2 :: 2。全局设置“ServerName”指令以抑制此消息
服务器MPM:prefork
root@Debian-91-stretch-64-LAMP ~ # a2enmod mpm_worker 考虑到mpm_event与mpm_worker的冲突:
考虑到mpm_prefork与mpm_worker的冲突:
错误:模块mpm_prefork已启用 - 由于冲突无法继续。必须先禁用它!
root@Debian-91-stretch-64-LAMP ~ # a2dismod mpm_prefork
错误:以下模块依赖于mpm_prefork并且需要首先禁用:php7.0
root@Debian-91-stretch-64-LAMP ~ # a2dismod php7.0
模块php7.0已禁用。
要激活新配置,您需要运行:
systemctl restart apache2
root@Debian-91-stretch-64-LAMP ~ # a2dismod php7.0
模块php7.0已禁用。
要激活新配置,您需要运行:
systemctl restart apache2
root@Debian-91-stretch-64-LAMP ~ # a2enmod mpm_worker 考虑到mpm_event与mpm_worker的冲突:
考虑到mpm_prefork与mpm_worker的冲突:
启用模块mpm_worker。
要激活新配置,您需要运行:
systemctl restart apache2
root@Debian-91-stretch-64-LAMP ~ # a2enmod php7.0
考虑到php7.0的依赖关系mpm_prefork:
考虑到mpm_event对mpm_prefork的冲突:
考虑到mpm_worker对mpm_prefork的冲突:
错误:模块mpm_worker已启用 - 由于冲突无法继续。必须先禁用它!
错误:无法启用php7.0的依赖项mpm_prefork,中止

冲突告诉你不能同时启用两个 MPM(事件和工作进程),也不能在工作进程 MPM 中使用内部 PHP 模块。 - arkascha
你想要使用worker mpm和php-fpm factcgi进程管理器。这是可行的,我今天实际上就将我的一个系统切换到了这个设置;-) - arkascha
那么我需要做什么? - tb3d
好的,禁用事件多进程模块(event mpm),安装并配置php-fpm,其中包括额外的php配置。 - arkascha
1个回答

6
我遇到了以下错误:
sudo a2enmod php7.2 
Considering dependency mpm_prefork for php7.2:
Considering conflict mpm_event for mpm_prefork:
ERROR: Module mpm_event is enabled - cannot proceed due to conflicts. It needs to be disabled first!
Considering conflict mpm_worker for mpm_prefork:
ERROR: Could not enable dependency mpm_prefork for php7.2, aborting

我只需要做以下修复:

sudo a2dismod mpm_event
sudo a2enmod php7.2
sudo systemctl restart apache2

你可能还想尝试重新启动你的服务器


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接