尝试在 Vagrant Ubuntu 框上启动 apache 时“已加载多个 MPM”

尝试在 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,没有此错误的条目。唯一包含的 mods 似乎在 中/etc/apache2/mods-enabled/,而我看到的与“mpm”相关的所有条目是:

  1. mpm_prefork 配置文件
  2. mpm_prefork.load

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

  1. mpm_event.conf
  2. mpm_event.load
  3. mpm_prefork 配置文件
  4. mpm_prefork.load
  5. mpm_worker.conf
  6. mpm_worker.load

但是,我的apache2.conf文件没有加载 mods-available 目录中的文件。

这对我来说是个新领域,所以我可能完全找错了地方。提前感谢你的帮助!

答案1

这在 Apache v2.2(问题被标记为)中不会发生,它只能发生在 Apache v2.4 中,您可以在其中将这三个编译MPMs为动态可加载模块。

在所有配置文件中搜索以下三行。路径当然可能不同,具体取决于您的安装。实际上只能加载这三个模块中的一个。如果存在多个模块并且未注释,您将收到您提到的错误:

# 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内置,然后像以前一样搜索上述行

相关内容