启动apache时出错,httpd:配置错误:加载了多个MPM

Raj*_*lan 16 apache

当我尝试启动apache服务器时,我得到以下内容,我构建了2.4.6版本并放置在本地位置.

[apacheas@twproxy1 bin]$ ./apachectl -k start
AH00534: httpd: Configuration error: More than one MPM loaded.
Run Code Online (Sandbox Code Playgroud)

根据某些网站上提供的一些信息,我尝试列出可用的模块(不确定!),如下所示.

[apacheas@twproxy1 bin]$ ./httpd -l

Compiled in modules:
  core.c
  mod_so.c
  http_core.c
  event.c
Run Code Online (Sandbox Code Playgroud)

怎么可能出错?

这与openssl中最近出现的Heart Bleed错误有关 - 建议我们升级apache和openssl版本.我们做了所有,但坚持上述问题/

小智 32

检查启用mods的目录中所有已启用的mod.如果已启用mpm_prefork,则应禁用该worker模块.

mpm_prefork

worker

  • 仅供参考:只运行"sudo a2dismod"会显示冲突的mpm_module名称.在我的例子中,他们是mpm_event和pmp_prefork.我禁用了mpm_event,因为我想让mpm_prefork运行.冲突是由于安装了一些与php7.0相关的东西造成的. (2认同)

小智 9

顺便拜访: /etc/httpd/conf.modules.d

你会找到一个名为的文件: 00-mpm.conf

您只能取消注释这3行中的一行:

LoadModule mpm_prefork_module modules/mod_mpm_prefork.so
#LoadModule mpm_worker_module modules/mod_mpm_worker.so
#LoadModule mpm_event_module modules/mod_mpm_event.so
Run Code Online (Sandbox Code Playgroud)

更多信息:https://httpd.apache.org/docs/2.4/mpm.html


Ash*_*rpe 5

在Ubuntu解决方案与上面相同,但只有文件的差异:

cd /etc/apache2/mods-enabled

root@ip:/etc/apache2/mods-enabled# ll mpm_*

lrwxrwxrwx 1 root root 32 Jun 30 10:33 mpm_event.conf -> ../mods-available/mpm_event.conf

lrwxrwxrwx 1 root root 32 Jun 30 10:33 mpm_event.load -> ../mods-available/mpm_event.load

lrwxrwxrwx 1 root root 34 Jun 30 11:36 mpm_prefork.conf -> ../mods-available/mpm_prefork.conf

lrwxrwxrwx 1 root root 34 Jun 30 11:36 mpm_prefork.load -> ../mods-available/mpm_prefork.load

root@ip:/etc/apache2/mods-enabled# cat mpm_event.load

# Conflicts: mpm_worker mpm_prefork mpm_itk

#LoadModule mpm_event_module /usr/lib/apache2/modules/mod_mpm_event.so



root@ip-10-0-0-249:/etc/apache2/mods-enabled# cat mpm_prefork.load
# Conflicts: mpm_event mpm_worker mpm_itk

LoadModule mpm_prefork_module /usr/lib/apache2/modules/mod_mpm_prefork.so
Run Code Online (Sandbox Code Playgroud)

即注释掉上述任何一个模块

root@ip:/etc/apache2/mods-enabled# service apache2 restart
Run Code Online (Sandbox Code Playgroud)

这样做!! 它对我有用!

  • 我正在使用 mod-php7,发现我必须禁用 `mpm_event` 并离开 `mpm_prefork` 才能使其工作 (2认同)