我正在尝试在 CentOS 上运行 mpm-itk 模块。不幸的是,这需要 apache 2.4.7,而 centos 上的当前版本是 2.4.6,因此无法编译该模块。
另外,centos 现在提供 httpd-itk 包,它创建另一个 apache 二进制文件 (/usr/sbin/httpd.itk)。
按照这文章中,可以设置 /etc/sysconfig/httpd 中的 HTTPD 参数以通过 itk 运行 apache。然而,CentOS 7 不再如此。相反,httpd 使用 /etc/httpd/conf.modules.d/00-mpm.conf 来加载您想要的任何模块。只不过,在这种情况下,itk 不是一个模块,而是一个可执行文件!
在这种情况下,我该如何从使用 httpd.itk 切换到使用 httpd?
谢谢!
答案1
对于那些仍在寻找解决方案和/或AH00534: httpd: Configuration error: No MPM loaded
尝试使用 ITK 时遇到问题的人:
要使用 ITK,您现在应该:
yum install httpd httpd-itk
- 编辑 /etc/httpd/conf.modules.d/00-mpm-itk.conf
#LoadModule
通过删除前导#
- 做不是注释掉这
LoadModule mpm_prefork_module
行00-mpm.conf
(这就是我们被困住的地方) - 重新开始
httpd
您现在应该看到多个httpd
进程 - 这与 CentOS 6 不同,其中进程以 运行httpd.itk
;如果您访问配置为使用不同用户的进程,您应该看到它切换到以该用户身份运行。
(另请注意,httpd-itk 之前也有一个错误,如 RedHat 的 Bugzilla 中所述:Bug 1188159 - httpd-itk 和 httpd 版本不匹配这阻止了 httpd-itk 的使用)