-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-
-<html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <meta name="generator" content="HTML Tidy, see www.w3.org" />
-
- <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>
+<html><head><META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><!--
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ This file is generated from xml source: DO NOT EDIT
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ --><title>Multi-Processing Modules (MPMs) - Apache HTTP Server</title><link href="./style/manual.css" type="text/css" rel="stylesheet"></head><body><blockquote><div align="center"><img src="./images/sub.gif" alt="[APACHE DOCUMENTATION]"><h3>Apache HTTP Server Version 2.0</h3></div><h1 align="center">Multi-Processing Modules (MPMs)</h1>
+<p>This document describes what a Multi-Processing Module is and
+how they are using by the Apache HTTP Server.</p>
+<ul><li><a href="#introduction">Introduction</a></li><li><a href="#choosing">Choosing an MPM</a></li><li><a href="#defaults">MPM Defaults</a></li></ul><hr><h2><a name="introduction">Introduction</a></h2>
<p>The Apache HTTP Server is designed to be a powerful and
flexible web server that can work on a very wide variety of
<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
+ version of Apache is now much more efficient, since
+ <code><a href="./mod/mpm_winnt.html">mpm_winnt</a></code> 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/worker.html">worker</a>, while sites requiring
- stability or compatibility with older software can use a <a
- href="mod/prefork.html">preforking MPM</a>. In addition,
+ scalability can choose to use a threaded MPM like
+ <code><a href="./mod/worker.html">worker</a></code>, while sites requiring
+ stability or compatibility with older software can use a
+ <code><a href="./mod/prefork.html">prefork</a></code>. In addition,
special features like serving different hosts under different
- userids (<a href="mod/perchild.html">perchild</a>) can be
+ userids (<code><a href="./mod/perchild.html">perchild</a></code>) can be
provided.</li>
</ul>
be loaded into the server at any time. The list of available
MPMs appears on the <a href="mod/">module index page</a>.</p>
- <h2 align="center">Choosing an MPM</h2>
+<h2><a name="choosing">Choosing an MPM</a></h2>
<p>MPMs must be chosen during configuration, and compiled into
the server. Compilers are capable of optimizing a lot of
determine which MPM was chosen by using <code>./httpd
-l</code>. This command will list every module that is compiled
into the server, including the MPM.</p>
-
- <h2 align="center">MPM Defaults</h2>
-
- <ul>
- <li>BeOS: beos</li>
-
- <li>OS/2: mpmt_os2</li>
-
- <li>Unix: prefork</li>
-
- <li>Windows: winnt</li>
- </ul>
- <!--#include virtual="footer.html" -->
- </body>
-</html>
-
+<h2><a name="defaults">MPM Defaults</a></h2>
+
+<p>The following table lists the default MPMs for various operating
+systems. This will be the MPM selected if you do not make another
+choice at compile-time.</p>
+
+<table>
+<tr><td>BeOS</td><td><code><a href="./mod/beos.html">beos</a></code></td></tr>
+<tr><td>OS/2</td><td><code><a href="./mod/mpmt_os2.html">mpmt_os2</a></code></td></tr>
+<tr><td>Unix</td><td><code><a href="./mod/prefork.html">prefork</a></code></td></tr>
+<tr><td>Windows</td><td><code><a href="./mod/mpm_winnt.html">mpm_winnt</a></code></td></tr>
+</table>
+<hr></blockquote><h3 align="center">Apache HTTP Server Version 2.0</h3><a href="./"><img src="./images/index.gif" alt="Index"></a><a href="./"><img src="./images/home.gif" alt="Home"></a></body></html>
\ No newline at end of file
--- /dev/null
+<?xml version='1.0' encoding='UTF-8' ?>
+<!DOCTYPE manualpage SYSTEM "./style/manualpage.dtd">
+<?xml-stylesheet type="text/xsl" href="./style/manual.en.xsl"?>
+<manualpage>
+<relativepath href="."/>
+
+ <title>Multi-Processing Modules (MPMs)</title>
+
+<summary>
+<p>This document describes what a Multi-Processing Module is and
+how they are using by the Apache HTTP Server.</p>
+</summary>
+
+<section id="introduction"><title>Introduction</title>
+
+ <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:</p>
+
+ <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
+ <module>mpm_winnt</module> 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
+ <module>worker</module>, while sites requiring
+ stability or compatibility with older software can use a
+ <module>prefork</module>. In addition,
+ special features like serving different hosts under different
+ userids (<module>perchild</module>) 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>
+
+</section>
+
+<section id="choosing"><title>Choosing an MPM</title>
+
+ <p>MPMs must be chosen during configuration, and compiled into
+ the server. Compilers are capable of optimizing a lot of
+ functions if threads are used, but only if they know that
+ threads are being used. Because some MPMs use threads on Unix
+ and others don't, Apache will always perform better if the MPM
+ is chosen at configuration time and built into Apache.</p>
+
+ <p>To actually choose the desired MPM, use the argument
+ --with-mpm= <em>NAME</em> with the ./configure script.
+ <em>NAME</em> is the name of the desired MPM.</p>
+
+ <p>Once the server has been compiled, it is possible to
+ determine which MPM was chosen by using <code>./httpd
+ -l</code>. This command will list every module that is compiled
+ into the server, including the MPM.</p>
+</section>
+
+<section id="defaults"><title>MPM Defaults</title>
+
+<p>The following table lists the default MPMs for various operating
+systems. This will be the MPM selected if you do not make another
+choice at compile-time.</p>
+
+<table>
+<tr><td>BeOS</td><td><module>beos</module></td></tr>
+<tr><td>OS/2</td><td><module>mpmt_os2</module></td></tr>
+<tr><td>Unix</td><td><module>prefork</module></td></tr>
+<tr><td>Windows</td><td><module>mpm_winnt</module></td></tr>
+</table>
+</section>
+
+</manualpage>