| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> |
| <HTML> |
| <HEAD> |
| <TITLE>Apache Multi-Processing Modules (MPMs)</TITLE> |
| </HEAD> |
| |
| <!-- Background white, links blue (unvisited), navy (visited), red (active) --> |
| <BODY |
| BGCOLOR="#FFFFFF" |
| TEXT="#000000" |
| LINK="#0000FF" |
| VLINK="#000080" |
| ALINK="#FF0000" |
| > |
| |
| <!--#include virtual="header.html" --> |
| |
| <h1 align="center">Apache Multi-Processing Modules</h1> |
| |
| <p>The Apache HTTP Server is designed to be a powerful and flexible |
| web server that can work on a very wide variety of platforms in a |
| range of different environments. Different platforms and different |
| environments often require different features, or may have different |
| ways of implementing the same feature most efficiently. Apache has |
| always accommodated a wide variety of environments through its modular |
| design. This design allows the webmaster to choose which features |
| will be included in the server by selecting which modules to load |
| either at compile-time or at run-time.</p> |
| |
| <p>Apache 2.0 extends this modular design to the most basic functions |
| of a web server. The server ships with a selection of |
| Multi-Processing Modules (MPMs) which are responsible for binding to |
| network ports on the machine, accepting requests, and dispatching |
| children to handle the requests.</p> |
| |
| <p>Extending the modular design to this level of the server |
| allows two important benefits: |
| <ul> |
| <li>Apache can more cleanly and efficiently support a wide variety of |
| operating systems. In particular, the Windows version of Apache is |
| now much more efficient, since <a |
| href="mod/mpm_winnt.html">mpm_winnt</a> can use native networking |
| features in place of the POSIX layer used in Apache 1.3. This benefit |
| also extends to other operating systems that implement specialized |
| MPMs.</li> |
| <li>The server can be better customized for the needs of the |
| particular site. For example, sites that need a great deal of |
| scalability can choose to use a threaded MPM like <a |
| href="mod/mpmt_pthread.html">mpmt_pthread</a>, while sites requiring |
| stability or compatibility with older software can use a <a |
| href="mod/prefork.html">preforking MPM</a>. In addition, special |
| features like serving different hosts under different userids |
| (<a href="mod/perchild.html">perchild</a>) can be provided.</li> |
| </ul> |
| |
| <p>At the user level, MPMs appear much like other Apache modules. |
| The main difference is that one and only one MPM must be loaded |
| into the server at any time. The list of available MPMs |
| appears on the <a href="mod/">module index page</a>.</p> |
| |
| <!-- XXX: Needed here: a brief discussion or reference to instructions |
| on how to choose and load an MPM, how to figure out what MPM you are |
| currently using, and what MPMs are the defaults on various |
| platforms. --> |
| |
| |
| |
| <!--#include virtual="footer.html" --> |
| |
| </body> |
| </html> |
| |