Apache启用worker mpm
我已经配置了FastCGI和PHP5-FPM来处理ubuntu,它工作正常。
但我安装了“apache2 worker mpm”模块,并希望配置和替换apache2中默认的“prefork mpm” 。
我发现只是在/etc/sysconfig/httpd
中的CentOS中,只需将HTTPD=/usr/sbin/httpd.worker
启用“worker mpm”即可 。
-
我们如何在Ubuntu中启用“worker mpm”?
-
此外,当我列出已编译的apache
"/usr/sbin/apachectl -l"
模块时,它不会列出"prefork.c"
,因为我们默认使用它,所以说它是列出的。 但当我做"/usr/sbin/apache2 -V | grep MPM"
它显示“Server MPM:prefork”可以解释一下吗?
$ / usr / sbin / apache2 -V | grep MPM
Server MPM: prefork
的phpinfo();
Server API : FPM/FastCGI
经过一段时间的工作,我自己做了。 您可以找到以下步骤。
检查当前正在运行的MPM apache:
apachectl -V | grep -i mpm Result: Server MPM: prefork
列出可用的MPM模块(确保列出了mpm_worker)
ls /etc/apache2/mods-available/mpm* Result: /etc/apache2/mods-available/mpm_event.conf /etc/apache2/mods-available/mpm_prefork.conf /etc/apache2/mods-available/mpm_worker.conf /etc/apache2/mods-available/mpm_event.load /etc/apache2/mods-available/mpm_prefork.load /etc/apache2/mods-available/mpm_worker.load
列出已启用的MPM模块(如果未启用mpm_worker,我们应启用它并禁用mpm_prefork模块)
ls -l /etc/apache2/mods-enabled/mpm* Result: /etc/apache2/mods-enabled/mpm_prefork.conf -> ../mods-available/mpm_prefork.conf /etc/apache2/mods-enabled/mpm_prefork.load -> ../mods-available/mpm_prefork.load
禁用MPM_PREFORK模块
a2dismod mpm_prefork
启用MPM_WORKER模块
a2enmod mpm_worker
检查Apache是否在MPM WORKER上运行
apachectl -V | grep -i mpm Result: Server MPM: worker
如果执行这些命令后出现此错误:
Apache is running a threaded MPM, but your PHP Module is not compiled to be threadsafe. You need to recompile PHP
尝试删除libapache2包:
apt-get remove libapache2-mod-php5
Apache正在运行一个线程化的MPM,但您的PHP模块并未编译为线程安全。 您需要重新编译PHP。
如果执行这些命令后出现此错误:
Apache is running a threaded MPM, but your PHP Module is not compiled to be threadsafe. You need to recompile PHP
尝试删除libapache2包:
apt-get remove libapache2-mod-php7.0