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

时间:2014-06-05 12:45:59

标签: apache

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

[apacheas@twproxy1 bin]$ ./apachectl -k start
AH00534: httpd: Configuration error: More than one MPM loaded.

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

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

Compiled in modules:
  core.c
  mod_so.c
  http_core.c
  event.c

可能出现什么问题?

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

4 个答案:

答案 0 :(得分:31)

检查启用mods的目录中所有已启用的mod。如果您已启用List<NameValue >cars = new ArrayList<NameValue >(); ,则应禁用mpm_prefork模块。

worker

sudo a2dismod worker

答案 1 :(得分: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

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

答案 2 :(得分: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

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

root@ip:/etc/apache2/mods-enabled# service apache2 restart

这样做!!它对我有用!

答案 3 :(得分:2)

要在更新Apache后修复Centos 7.0下的“多个加载MPM”错误,请尝试以下操作:

sudo vim /etc/httpd/conf.modules.d/00-mpm.conf

并评论此行

#Change from
LoadModule mpm_prefork_module modules/mod_mpm_prefork.so

#To
#LoadModule mpm_prefork_module modules/mod_mpm_prefork.so

问题是正在加载多个Multi-Processing Modules,这意味着Apache无法决定应该使用哪种模型,从而导致此错误。