docker/httpd:配置错误:未加载 MPM

新手上路,请多包涵

我有一个基于 httpd 官方镜像的 docker 容器。不知从何而来(在新构建之后),它开始失败并出现错误:

 AH00534: httpd: Configuration error: No MPM loaded.

没有其他的。

我正在使用官方的 httpd 图像( FROM httpd:2.4 ),到目前为止一切正常。

仅在使用 docker system prune -af 修剪系统中的所有图像后才出现错误

原文由 Tiago Carreira 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.6k
2 个回答

(编辑,谢谢 delboy1978uk )如果应用一个简单的最佳实践,可以避免错误:将您的 docker 图像固定到特定版本而不是 latest


在挖掘了官方 httpd 镜像的提交后,我找到了解决方案。 (也许这个问题/答案可能对其他人有所帮助)

对于那些在寻找解决方案时偶然发现此注释的人,只需将 LoadModule mpm_event_module modules/mod_mpm_event.so 添加到 httpd.conf 其他 LoadModule 指令之上。

来自对提交 #17166574 的评论

所以,因为我在没有明确声明 MPM 模块的情况下覆盖了文件 /usr/local/apache2/conf/httpd.conf ,所以在提交之后,我的图像开始失败。

有了这个快速修复,现在一切都很好。

如需完整更正,请将其添加到您的 httpd.conf 文件中(感谢 svinther ):

 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

或者,对于更面向未来的解决方案,您可以使用 sed 修改原始 http.conf 文件。

原文由 Tiago Carreira 发布,翻译遵循 CC BY-SA 4.0 许可协议

在将我的配置与最新的 httpd:2.4 配置进行比较后,我发现这些新行需要合并到 conf/httpd.conf

 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

自我注意:在构建衍生 httpd docker 映像时,使用 sed 修改 conf 文件可能比仅在静态文件中复制更好

原文由 svinther 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
logo
Stack Overflow 翻译
子站问答
访问
宣传栏