Blame docs/manual/mpm.html.zh-cn.utf8

Packit 90a5c9
Packit 90a5c9
Packit 90a5c9
<html xmlns="http://www.w3.org/1999/xhtml" lang="zh-cn" xml:lang="zh-cn"><head>
Packit 90a5c9
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" />
Packit 90a5c9
Packit 90a5c9
        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Packit 90a5c9
              This file is generated from xml source: DO NOT EDIT
Packit 90a5c9
        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Packit 90a5c9
      -->
Packit 90a5c9
<title>多处理模块(MPM) - Apache HTTP 服务器 版本 2.4</title>
Packit 90a5c9
<link href="./style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
Packit 90a5c9
<link href="./style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
Packit 90a5c9
<link href="./style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="./style/css/prettify.css" />
Packit 90a5c9
<script src="./style/scripts/prettify.min.js" type="text/javascript">
Packit 90a5c9
</script>
Packit 90a5c9
Packit 90a5c9
<link href="./images/favicon.ico" rel="shortcut icon" /></head>
Packit 90a5c9
<body id="manual-page">
Packit 90a5c9

模块 | 指令 | 常见问题 | 术语 | 网站导航

Packit 90a5c9

Apache HTTP 服务器版本 2.4

Packit 90a5c9
Packit 90a5c9
<-
Packit 90a5c9
Packit 90a5c9
Apache > HTTP 服务器 > 文档 > 版本 2.4

多处理模块(MPM)

Packit 90a5c9
Packit 90a5c9

可用语言:  de  |

Packit 90a5c9
 en  |
Packit 90a5c9
 es  |
Packit 90a5c9
 fr  |
Packit 90a5c9
 ja  |
Packit 90a5c9
 ko  |
Packit 90a5c9
 tr  |
Packit 90a5c9
 zh-cn 

Packit 90a5c9
Packit 90a5c9
此翻译可能过期。要了解最近的更改,请阅读英文版。
Packit 90a5c9
Packit 90a5c9

本文档介绍了什么是多处理模块,以及 Apache HTTP 服务器如何使用它们。

Packit 90a5c9
Packit 90a5c9
Packit 90a5c9
  • 默认 MPM
  • Packit 90a5c9
  • 构建 MPM 为静态模块
  • Packit 90a5c9
  • 构建 MPM 为动态模块
  • Packit 90a5c9

    参见

    Packit 90a5c9
    top
    Packit 90a5c9
    Packit 90a5c9

    介绍

    Packit 90a5c9
    Packit 90a5c9
        

    Apache HTTP 服务器被设计为一个功能强大,并且灵活的 web 服务器,

    Packit 90a5c9
        可以在很多平台与环境中工作。不同平台和不同的环境往往需要不同
    Packit 90a5c9
        的特性,或可能以不同的方式实现相同的特性最有效率。Apache httpd
    Packit 90a5c9
        通过模块化的设计来适应各种环境。这种设计允许网站管理员通过在
    Packit 90a5c9
        编译时或运行时,选择哪些模块将会加载在服务器中,来选择服务器特性。

    Packit 90a5c9
    Packit 90a5c9
        

    Apache HTTP 服务器 2.0 扩展此模块化设计到最基本的 web 服务器功能。

    Packit 90a5c9
        它提供了可以选择的多处理模块(MPM),用来绑定到网络端口上,接受请求,
    Packit 90a5c9
        以及调度子进程处理请求。

    Packit 90a5c9
    Packit 90a5c9
        

    扩展到这一级别的服务器模块化设计,带来两个重要的好处:

    Packit 90a5c9
    Packit 90a5c9
        
      Packit 90a5c9
            
    • Apache httpd 能更优雅,更高效率的支持不同的平台。尤其是
    • Packit 90a5c9
            Apache httpd 的 Windows 版本现在更有效率了,因为
      Packit 90a5c9
            mpm_winnt 能使用原生网络特性取代在
      Packit 90a5c9
            Apache httpd 1.3 中使用的 POSIX 层。它也可以扩展到其它平台
      Packit 90a5c9
            来使用专用的 MPM。
      Packit 90a5c9
      Packit 90a5c9
            
    • Apache httpd 能更好的为有特殊要求的站点定制。例如,要求
    • Packit 90a5c9
            更高伸缩性的站点可以选择使用线程的 MPM,即
      Packit 90a5c9
            workerevent
      Packit 90a5c9
            需要可靠性或者与旧软件兼容的站点可以使用
      Packit 90a5c9
            prefork
      Packit 90a5c9
          
      Packit 90a5c9
      Packit 90a5c9
          

      在用户看来,MPM 很像其它 Apache httpd 模块。主要是区别是,在任何时间,

      Packit 90a5c9
          必须有一个,而且只有一个 MPM 加载到服务器中。可用的 MPM 列表位于
      Packit 90a5c9
          模块索引页面

      Packit 90a5c9
      Packit 90a5c9
      top
      Packit 90a5c9
      Packit 90a5c9

      默认 MPM

      Packit 90a5c9
      Packit 90a5c9

      下表列出了不同系统的默认 MPM。如果你不在编译时选择,那么它就是你将要使用的 MPM。

      Packit 90a5c9
      Packit 90a5c9
      Netwarempm_netware
      Packit 90a5c9
      OS/2mpmt_os2
      Packit 90a5c9
      Unixpreforkworker
      Packit 90a5c9
          event,取决于平台特性
      Packit 90a5c9
      Windowsmpm_winnt
      Packit 90a5c9
      Packit 90a5c9
      top
      Packit 90a5c9
      Packit 90a5c9

      构建 MPM 为静态模块

      Packit 90a5c9
      Packit 90a5c9
          

      在全部平台中,MPM 都可以构建为静态模块。在构建时选择一种

      Packit 90a5c9
          MPM,链接到服务器中。如果要改变 MPM,必须重新构建。

      Packit 90a5c9
      Packit 90a5c9
          

      为了使用指定的 MPM,请在执行 configure 脚本

      Packit 90a5c9
            时,使用参数 --with-mpm=NAMENAME
      Packit 90a5c9
            是指定的 MPM 名称。

      Packit 90a5c9
      Packit 90a5c9
          

      编译完成后,可以使用 ./httpd -l 来确定选择的 MPM。

      Packit 90a5c9
          此命令会列出编译到服务器程序中的所有模块,包括 MPM。

      Packit 90a5c9
      Packit 90a5c9
      top
      Packit 90a5c9
      Packit 90a5c9

      构建 MPM 为动态模块

      Packit 90a5c9
      Packit 90a5c9
          

      在 Unix 或类似平台中,MPM 可以构建为动态模块,与其它动态模块一样在运行时加载。

      Packit 90a5c9
          构建 MPM 为动态模块允许通过修改 LoadModule
      Packit 90a5c9
          指令内容来改变 MPM,而不用重新构建服务器程序。

      Packit 90a5c9
      Packit 90a5c9
          

      在执行 configure 脚本时,使用

      Packit 90a5c9
          --enable-mpms-shared 选项可以启用此特性。
      Packit 90a5c9
          当给出的参数为 all 时,所有此平台支持的 MPM
      Packit 90a5c9
          模块都会被安装。还可以在参数中给出模块列表。

      Packit 90a5c9
      Packit 90a5c9
          

      默认 MPM,可以自动选择或者在执行 configure

      Packit 90a5c9
          脚本时通过 --with-mpm 选项来指定,然后出现在生成的服务器配置文件中。
      Packit 90a5c9
          编辑 LoadModule 指令内容可以选择不同的 MPM。

      Packit 90a5c9
      Packit 90a5c9
      Packit 90a5c9
      Packit 90a5c9

      可用语言:  de  |

      Packit 90a5c9
       en  |
      Packit 90a5c9
       es  |
      Packit 90a5c9
       fr  |
      Packit 90a5c9
       ja  |
      Packit 90a5c9
       ko  |
      Packit 90a5c9
       tr  |
      Packit 90a5c9
       zh-cn 

      Packit 90a5c9
      top

      评论

      Notice:
      This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our mailing lists.
      Packit 90a5c9
      <script type="text/javascript">
      Packit 90a5c9
      var comments_shortname = 'httpd';
      Packit 90a5c9
      var comments_identifier = 'http://httpd.apache.org/docs/2.4/mpm.html';
      Packit 90a5c9
      (function(w, d) {
      Packit 90a5c9
          if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
      Packit 90a5c9
              d.write('
      <\/div>');
      Packit 90a5c9
              var s = d.createElement('script');
      Packit 90a5c9
              s.type = 'text/javascript';
      Packit 90a5c9
              s.async = true;
      Packit 90a5c9
              s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
      Packit 90a5c9
              (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
      Packit 90a5c9
          }
      Packit 90a5c9
          else { 
      Packit 90a5c9
              d.write('
      Comments are disabled for this page at the moment.<\/div>');
      Packit 90a5c9
          }
      Packit 90a5c9
      })(window, document);
      Packit 90a5c9
      //--></script>
      Packit 90a5c9

      Copyright 2018 The Apache Software Foundation.
      基于 Apache License, Version 2.0 许可证.

      Packit 90a5c9

      模块 | 指令 | 常见问题 | 术语 | 网站导航

      <script type="text/javascript">
      Packit 90a5c9
      if (typeof(prettyPrint) !== 'undefined') {
      Packit 90a5c9
          prettyPrint();
      Packit 90a5c9
      }
      Packit 90a5c9
      //--></script>
      Packit 90a5c9
      </body></html>