当试图在Vagrant Ubuntu机器上启动apache时,“加载了多个MPM”

每当我尝试sudo apache2ctl start我收到以下消息:

 AH00534: apache2: Configuration error: More than one MPM loaded. Action '-k restart' failed. The Apache error log may have more information. 

当我检查/var/log/apache2/error.log ,这个错误没有条目。 唯一被包含的mod似乎在/etc/apache2/mods-enabled/ ,我所看到的与“mpm”相关的所有内容都是:

  1. mpm_prefork.conf
  2. mpm_prefork.load

/etc/apache2/mods-available/ ,列出了以下内容:

  1. mpm_event.conf
  2. mpm_event.load
  3. mpm_prefork.conf
  4. mpm_prefork.load
  5. mpm_worker.conf
  6. mpm_worker.load

但是,我的apache2.conf文件不会加载mods-available目录中的那些文件。

这对我来说是新的领域,所以我可能完全看错了地方。 在此先感谢您的帮助!

在Apache v2.2(这个问题被标记为这个)中不会发生这种情况,它只能在Apache v2.4中发生,你可以将三个MPMs编译为可dynamic加载的模块。

search以下三行的所有configuration文件。 当然,path可能不同,具体取决于您的安装。 实际上只能有这三个模块中的一个。 如果不止一个存在并且未注释,则会得到您提到的错误:

 # Only *ONE* of these modules may be uncommented in a valid configuration LoadModule mpm_event_module modules/mod_mpm_event.so LoadModule mpm_prefork_module modules/mod_mpm_prefork.so LoadModule mpm_worker_module modules/mod_mpm_worker.so 

如果你设法得到一个Apache安装,其中一个MPMs编译成httpd二进制本身并且一个或多个MPMs作为可加载模块,那么你也可以得到这个。

运行/path/to/httpd -l以查看是否有内置的MPM ,然后像以前一样search上述行