Apache启用worker mpm

我已经配置了FastCGI和PHP5-FPM来处理ubuntu,它工作正常。

但我安装了“apache2 worker mpm”模块,并希望配置和替换apache2中默认的“prefork mpm”

我发现只是在/etc/sysconfig/httpd中的CentOS中,只需将HTTPD=/usr/sbin/httpd.worker启用“worker mpm”即可

  1. 我们如何在Ubuntu中启用“worker mpm”?

  2. 此外,当我列出已编译的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