CentOS7 将 apache mpm 改为 mpm-itk

sdr*_*nev 9 apache-2.4 centos7

我正在尝试在 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 切换?

谢谢!

小智 7

对于那些仍在寻找解决方案和/或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 上所提交的:错误 1188159 - httpd-itk 和 httpd 之间的版本不匹配,这阻止了 httpd-itk 的使用)