【问题标题】:Change apache mpm from event to prefork将 apache mpm 从事件更改为 prefork
【发布时间】:2013-09-07 16:35:26
【问题描述】:

我最近从源代码安装了 Apache/2.4.6。目前启用的 MPM 模块是 mpm_event_module。我想启用 prefork mpm,但不确定从哪里开始。 如果使用 yum 安装 apache,我知道从 /etc/sysconfig/httpd 更改 mpm 模块。但就我而言,由于 installinon 来自源代码,我不能不这样做。 我尝试使用 './configure --prefix=/usr/local/apache --enable-module=prefork' 重新编译 apche,但 mpm 仍然是 mpm_event_module。显然,问题在于将 prefork 定义为 mpm。

我还可以看到安装目录有 prefork.c 模块。一定有办法将其定义为mpm。

有人可以帮忙吗?

【问题讨论】:

标签: apache2


【解决方案1】:

在 2.4 之前的版本中,您无法在运行时更改二进制 Apache2 安装的 MPM。

您必须使用配置脚本的--with-mpm=MODULE NAME 命令行选项使用所需的 MPM 编译 Apache。要更改 MPM,必须重新构建二进制文件。

您可以通过在命令行上执行 apache2 -lhttpd -l 来确定当前构建的 MPM Apache2。

关于此的简短但非常清晰的文档:

http://httpd.apache.org/docs/2.2/mpm.html

在 2.4 版中,您还可以将 MPM 构建为动态模块,从而允许在运行时更改 MPM。

http://httpd.apache.org/docs/2.4/mpm.html#dynamic

【讨论】:

  • 谢谢马塞尔。我使用 e --with-mpm=MODULE NAME 命令重新编译了 Apache prefork。早些时候,我尝试使用 --enable-module=prefork 进行相同的操作。浏览了这些链接。重申一切都在那里的事实。你只需要正确看待。:)
  • 不客气。根据您选择 MPM 是动态模块还是静态模块,您将能够以不同的方式更改当前 MPM,但现在应该按照答案中的文档直接进行。
猜你喜欢
  • 2018-02-25
  • 2012-01-11
  • 2012-12-02
  • 1970-01-01
  • 2017-09-13
  • 2013-04-08
  • 2013-11-16
  • 2023-03-08
  • 2013-06-21
相关资源
最近更新 更多