搜索

F.2. 切换 MPM

download PDF

服务器根据 Apache HTTP 服务器主机上的 00-mpm.conf 文件中的 LoadModule 指令选择 MPM。您可以通过从 00-mpm.conf 文件中的 MPM 的 LoadModule 指令中删除注释字符(#)来选择特定的 MPM。

根据您使用的 Apache HTTP 服务器分发,00- mpm.conf 文件的位置会有所不同:

  • 如果您使用 JBCS Apache HTTP 服务器,00- mpm.conf 文件位于 JBCS_HOME/httpd/conf.modules.d 目录中。
  • 如果您使用 RHEL Apache HTTP 服务器,00- mpm.conf 文件位于 /etc/httpd/conf.modules.d 目录中。

根据您使用的操作系统版本,请考虑以下指南:

  • 在 RHEL 版本 8 和 9 中,默认选择 事件 MPM。例如:

    # event MPM: A variant of the worker MPM with the goal of consuming
    # threads only for connections with active processing
    # See: http://httpd.apache.org/docs/2.4/mod/event.html
    #
    LoadModule mpm_event_module modules/mod_mpm_event.so

    事件 MPM 是多线程的,旨在提供优化的性能。如果您使用 RHEL 版本 8 或 9,切换到另一个 MPM,如 prefork 可能会导致性能问题。

  • 在 RHEL 7 中,默认选择 prefork MPM。例如:

    # prefork MPM: Implements a non-threaded, pre-forking web server
    # See: http://httpd.apache.org/docs/2.4/mod/prefork.html
    LoadModule mpm_prefork_module modules/mod_mpm_prefork.so

    如果您使用 RHEL 7,请考虑切换到另一个 MPM,如 workerevent,以避免可能出现性能问题。

注意

为了说明目的,以下步骤描述了如何从 prefork MPM 切换到 worker MPM。

流程

  1. 进入包含 00-mpm.conf 文件的目录:

    • 如果您使用 JBCS Apache HTTP 服务器,请转到 JBCS_HOME/httpd/conf.modules.d 目录。
    • 如果您使用 RHEL Apache HTTP 服务器,请转到 /etc/httpd/conf.modules.d 目录。
  2. 编辑 00-mpm.conf,将注释(#)字符添加到 prefork MPM 的 LoadModule 指令中。

    例如:

    # prefork MPM: Implements a non-threaded, pre-forking web server
    # See: http://httpd.apache.org/docs/2.4/mod/prefork.html
    #LoadModule mpm_prefork_module modules/mod_mpm_prefork.so
  3. 在同一个 00-mpm.conf 文件中,从您要切换到的 MPM 的 LoadModule 指令中删除注释(#)字符。这些行位于 prefork MPM 的下方。

    例如,要加载 worker MPM,请从 worker MPM 的 LoadModule 指令中删除注释(#)字符:

    # worker MPM: Multi-Processing Module implementing a hybrid
    # multi-threaded multi-process web server
    # See: http://httpd.apache.org/docs/2.4/mod/worker.html
    LoadModule mpm_worker_module modules/mod_mpm_worker.so

验证

  • 要验证 MPM 是否已正确配置,请输入以下命令:

    $ sbin/apachectl -V

    前面的命令显示当前 MPM。

    例如:

    Server MPM:     worker
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.