<identifier>mpm_prefork_module</identifier>
<summary>
- <p>This Multi-Processing Module (MPM) implements a
- non-threaded, pre-forking web server which handles request in a
- manner very similar to the default behavior of Apache 1.3 on
- Unix.</p>
+ <p>This Multi-Processing Module (MPM) implements a non-threaded,
+ pre-forking web server that handles requests in a manner similar
+ to Apache 1.3. It is appropriate for sites that need to avoid
+ threading for compatibility with non-thread-safe libraries. It
+ is also the best MPM for isolating each request, so that a problem
+ with a single request will not affect any other.</p>
+
+ <p>This MPM is very self-regulating, so it is rarely necessary to
+ adjust its configuration directives. Most important is that
+ <directive module="mpm_common">MaxClients</directive> be big enough to
+ handle as many simultaneous requests as you expect to receive, but
+ small enough to assure that there is enough physical RAM for all
+ processes.</p>
+</summary>
+<seealso><a href="../bind.html">Setting which addresses and
+ ports Apache uses</a></seealso>
+
+<section><title>How it Works</title>
<p>A single control process is responsible for launching child
processes which listen for connections and serve them when they
arrive. Apache always tries to maintain several <em>spare</em>
module="mpm_common">Group</directive> directives are used to set
the privileges of the Apache child processes. The child processes
must be able to read all the content that will be served, but
- should have as few privileges beyond that as possible. In
- addition, unless <a href="../suexec.html">suexec</a> is used,
- these directives also set the privileges which will be inherited
- by CGI scripts.</p>
+ should have as few privileges beyond that as possible.</p>
<p><directive module="mpm_common">MaxRequestsPerChild</directive>
controls how frequently the server recycles processes by killing
old ones and launching new ones.</p>
-</summary>
-<seealso><a href="../bind.html">Setting which addresses and
- ports Apache uses</a></seealso>
+</section>
<directivesynopsis location="mpm_common">
<name>CoreDumpDirectory</name>
<name>LockFile</name>
</directivesynopsis>
+<directivesynopsis location="mpm_common">
+<name>MaxClients</name>
+</directivesynopsis>
+
<directivesynopsis location="mpm_common">
<name>MaxRequestsPerChild</name>
</directivesynopsis>
<name>User</name>
</directivesynopsis>
+<directivesynopsis location="mpm_common">
+<name>Group</name>
+</directivesynopsis>
+
<directivesynopsis>
<name>AcceptMutex</name>
<description>Method that Apache uses to serialize multiple children