当我尝试在 apache2.2 上配置虚拟主机时,出现“未安装 apache MPM 包”的错误。
我正在按照这例如。这个错误是什么意思?
编辑:prefork 已经安装。问题是,为什么a2ensite/a2分散体和/etc/init.d/apache2 重新加载我仍然收到错误“没有安装 MPM 包”...
答案1
在查看文档时http://httpd.apache.org,我发现虚拟主机是一个核心选项。MPM 是 apache web 服务器内部的进程/线程管理问题。是否具有 MPM 不应该成为支持虚拟主机的决定因素。
因此,我猜测您的 httpd.conf 文件中包含的指令与编译到 Apache 服务器中的 MPM 模块类型不一致。例如,您可能正在使用 prefork MPM,但 httpd.conf 文件中的指令会包含不合适的 ThreadsperChild 之类的内容。这可能是您的错误消息的来源。
Apache 文档进一步指出,根据平台的不同,在配置过程中总会选择一个默认 MPM。在 Linux 中,它是 prefork。
答案2
sudo apt-get 安装 apache2
答案3
似乎最新的 Debian 升级再次破坏了这个问题,因此这里有一个快速修复程序,供任何从 Google 上找到此问题的最新重复出现的人使用:
apt-get install apache2-mpm-prefork
cd /etc/apache2/mods-enabled
ln -s ../mods-available/mpm_prefork.* ./
/etc/init.d/apache2 restart
sudo
(如果你不是 root,请用适当的前缀)
答案4
如果你在 Linux 上从源代码编译它,那么默认的 prefork mpm 应该已经安装。你应该能够通过运行列出所有模块,包括 mpm httpd -l
。请参阅MPM 文档更多细节