<dd>the subnet <code>192.168.112.0/21</code> with a netmask of 21
valid bits (also used in the form 255.255.248.0)</dd>
</dl>
- As a degenerate case, a <em>SubNet</em> with 32 valid bits is the
+ As a degenerate case, a <em>SubNet</em> with 32 valid bits is the
equivalent to an <em>IPAddr</em>, while a <em>SubNet</em> with zero
valid bits (<em>e.g.</em>, 0.0.0.0/0) is the same as the constant
<em>_Default_</em>, matching any IP address. </dd>
Order Deny,Allow<br>
Deny from all<br>
Allow from yournetwork.example.com<br>
-<Proxy>
+</Proxy>
</code></td></tr></table></blockquote>
<p>The following example will process all files in the
<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
<Proxy http://example.com/foo/*><br>
SetOutputFilter INCLUDES<br>
-<Proxy>
+</Proxy>
</code></td></tr></table></blockquote>
<hr/><h2><a name="ProxyBlock">ProxyBlock</a> <a name="proxyblock">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td nowrap="nowrap"><strong>Description: </strong></td><td>Words, hosts, or domains that are banned from being
proxied</td></tr><tr><td nowrap="nowrap"><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>ProxyBlock *|<em>word|host|domain</em>
<p>A single control process launches the number of child processes
indicated by the <a href="mpm_common.html#numservers" class="directive"><code class="directive">NumServers</code></a> directive at server
startup. Each child process creates threads as specified in the
- <code>StartThreads</code> directive. The individual threads then
+ <a href="mpm_common.html#startthreads" class="directive"><code class="directive">StartThreads</code></a> directive.
+ The individual threads then
listen for connections and serve them when they arrive.</p>
<p>Apache always tries to maintain a pool of <em>spare</em> or
threads to be created. For each child process, Apache assesses
the number of idle threads and creates or destroys threads to
keep this number within the boundaries specified by
- <code>MinSpareThreads</code> and <code>MaxSpareThreads</code>.
+ <a href="mpm_common.html#minsparethreads" class="directive"><code class="directive">MinSpareThreads</code></a>
+ and <a href="mpm_common.html#maxsparethreads" class="directive"><code class="directive">MaxSpareThreads</code></a>.
Since this process is very self-regulating, it is rarely
necessary to modify these directives from their default values.
The maximum number of clients that may be served simultaneously
is determined by multiplying the number of server processes
- that will be created (<code>NumServers</code>) by the maximum
+ that will be created (<a href="mpm_common.html#numservers" class="directive"><code class="directive">NumServers</code></a>) by the maximum
number of threads created in each process
- (<code>MaxThreadsPerChild</code>).</p>
+ (<a href="mpm_common.html#maxthreadsperchild" class="directive"><code class="directive">MaxThreadsPerChild</code></a>).</p>
<p>While the parent process is usually started as root under
Unix in order to bind to port 80, the child processes and
threads are launched by Apache as a less-privileged user. The
- <code>User</code> and <code>Group</code> directives are used to
+ <a href="mpm_common.html#user" class="directive"><code class="directive">User</code></a> and <a href="mpm_common.html#group" class="directive"><code class="directive">Group</code></a> 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>
- <p><code>MaxRequestsPerChild</code> controls how frequently the
+ <p><a href="mpm_common.html#maxrequestsperchild" class="directive"><code class="directive">MaxRequestsPerChild</code></a>
+ controls how frequently the
server recycles processes by killing old ones and launching new
ones.</p>
This file is generated from xml source: DO NOT EDIT
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
--><title>prefork- 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">Apache Module prefork</h1><table cellspacing="1" cellpadding="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td valign="top"><span class="help">Description:</span></td><td>Implements a non-threaded, pre-forking web server</td></tr><tr><td><a href="module-dict.html#Status" class="help">Status:</a></td><td>MPM</td></tr><tr><td><a href="module-dict.html#ModuleIdentifier" class="help">Module Identifier:</a></td><td>mpm_prefork_module</td></tr></table></td></tr></table><h2>Summary</h2>
- <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
+ <a href="mpm_common.html#maxclients" class="directive"><code class="directive">MaxClients</code></a> 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>
+
+<h2>Directives</h2><ul><li><a href="#acceptmutex">AcceptMutex</a></li><li><a href="mpm_common.html#coredumpdirectory">CoreDumpDirectory</a></li><li><a href="mpm_common.html#group">Group</a></li><li><a href="mpm_common.html#listen">Listen</a></li><li><a href="mpm_common.html#listenbacklog">ListenBacklog</a></li><li><a href="mpm_common.html#lockfile">LockFile</a></li><li><a href="mpm_common.html#maxclients">MaxClients</a></li><li><a href="mpm_common.html#maxrequestsperchild">MaxRequestsPerChild</a></li><li><a href="mpm_common.html#maxspareservers">MaxSpareServers</a></li><li><a href="#maxspareservers">MaxSpareServers</a></li><li><a href="mpm_common.html#minspareservers">MinSpareServers</a></li><li><a href="#minspareservers">MinSpareServers</a></li><li><a href="mpm_common.html#pidfile">PidFile</a></li><li><a href="mpm_common.html#scoreboardfile">ScoreBoardFile</a></li><li><a href="mpm_common.html#sendbuffersize">SendBufferSize</a></li><li><a href="mpm_common.html#serverlimit">ServerLimit</a></li><li><a href="mpm_common.html#startservers">StartServers</a></li><li><a href="mpm_common.html#user">User</a></li></ul><p><strong>See also </strong></p><ul><li><a href="../bind.html">Setting which addresses and
+ ports Apache uses</a></li></ul><h2>How it Works</h2>
<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>
Apache as a less-privileged user. The <a href="mpm_common.html#user" class="directive"><code class="directive">User</code></a> and <a href="mpm_common.html#group" class="directive"><code class="directive">Group</code></a> 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><a href="mpm_common.html#maxrequestsperchild" class="directive"><code class="directive">MaxRequestsPerChild</code></a>
controls how frequently the server recycles processes by killing
old ones and launching new ones.</p>
-<h2>Directives</h2><ul><li><a href="#acceptmutex">AcceptMutex</a></li><li><a href="mpm_common.html#coredumpdirectory">CoreDumpDirectory</a></li><li><a href="mpm_common.html#listen">Listen</a></li><li><a href="mpm_common.html#listenbacklog">ListenBacklog</a></li><li><a href="mpm_common.html#lockfile">LockFile</a></li><li><a href="mpm_common.html#maxrequestsperchild">MaxRequestsPerChild</a></li><li><a href="mpm_common.html#maxspareservers">MaxSpareServers</a></li><li><a href="#maxspareservers">MaxSpareServers</a></li><li><a href="mpm_common.html#minspareservers">MinSpareServers</a></li><li><a href="#minspareservers">MinSpareServers</a></li><li><a href="mpm_common.html#pidfile">PidFile</a></li><li><a href="mpm_common.html#scoreboardfile">ScoreBoardFile</a></li><li><a href="mpm_common.html#sendbuffersize">SendBufferSize</a></li><li><a href="mpm_common.html#serverlimit">ServerLimit</a></li><li><a href="mpm_common.html#startservers">StartServers</a></li><li><a href="mpm_common.html#user">User</a></li></ul><p><strong>See also </strong></p><ul><li><a href="../bind.html">Setting which addresses and
- ports Apache uses</a></li></ul><hr/><h2><a name="AcceptMutex">AcceptMutex</a> <a name="acceptmutex">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td nowrap="nowrap"><strong>Description: </strong></td><td>Method that Apache uses to serialize multiple children
+<hr/><h2><a name="AcceptMutex">AcceptMutex</a> <a name="acceptmutex">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td nowrap="nowrap"><strong>Description: </strong></td><td>Method that Apache uses to serialize multiple children
accepting requests on network sockets</td></tr><tr><td nowrap="nowrap"><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>AcceptMutex default|<em>method</em></td></tr><tr><td nowrap="nowrap"><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code>AcceptMutex default</code></td></tr><tr><td nowrap="nowrap"><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config</td></tr><tr><td nowrap="nowrap"><a href="directive-dict.html#Status" class="help">Status:</a></td><td>MPM</td></tr><tr><td nowrap="nowrap"><a href="directive-dict.html#Module" class="help">Module:</a></td><td>prefork</td></tr></table></td></tr></table>
<p>The <code class="directive">AcceptMutex</code> directives sets the
method that Apache uses to serialize multiple children accepting
--><title>worker- 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">Apache Module worker</h1><table cellspacing="1" cellpadding="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td valign="top"><span class="help">Description:</span></td><td>Multi-Processing Module implementing a hybrid
multi-threaded multi-process web server</td></tr><tr><td><a href="module-dict.html#Status" class="help">Status:</a></td><td>MPM</td></tr><tr><td><a href="module-dict.html#ModuleIdentifier" class="help">Module Identifier:</a></td><td>mpm_worker_module</td></tr></table></td></tr></table><h2>Summary</h2>
<p>This Multi-Processing Module (MPM) implements a hybrid
- multi-process multi-threaded server. Each process has a fixed
+ multi-process multi-threaded server. By using threads to serve
+ requests, it is able to serve a large number of requests with
+ less system resources than a process-based server. Yet it
+ retains much of the stability of a process-based server by
+ keeping multiple processes available, each with many threads.</p>
+
+ <p>The most important directives used to control this MPM are
+ <a href="mpm_common.html#threadsperchild" class="directive"><code class="directive">ThreadsPerChild</code></a> and
+ <a href="mpm_common.html#maxclients" class="directive"><code class="directive">MaxClients</code></a>. By multiplying
+ together the value of these directives you define the total number
+ of simultaneous connections that the server can handle.</p>
+
+<h2>Directives</h2><ul><li><a href="mpm_common.html#coredumpdirectory">CoreDumpDirectory</a></li><li><a href="mpm_common.html#group">Group</a></li><li><a href="mpm_common.html#listen">Listen</a></li><li><a href="mpm_common.html#listenbacklog">ListenBacklog</a></li><li><a href="mpm_common.html#lockfile">LockFile</a></li><li><a href="mpm_common.html#maxclients">MaxClients</a></li><li><a href="mpm_common.html#maxrequestsperchild">MaxRequestsPerChild</a></li><li><a href="mpm_common.html#maxsparethreads">MaxSpareThreads</a></li><li><a href="mpm_common.html#minsparethreads">MinSpareThreads</a></li><li><a href="mpm_common.html#pidfile">PidFile</a></li><li><a href="mpm_common.html#scoreboardfile">ScoreBoardFile</a></li><li><a href="mpm_common.html#sendbuffersize">SendBufferSize</a></li><li><a href="mpm_common.html#serverlimit">ServerLimit</a></li><li><a href="mpm_common.html#startservers">StartServers</a></li><li><a href="mpm_common.html#threadlimit">ThreadLimit</a></li><li><a href="mpm_common.html#threadsperchild">ThreadsPerChild</a></li><li><a href="mpm_common.html#user">User</a></li></ul><p><strong>See also </strong></p><ul><li><a href="../bind.html">Setting which addresses and
+ ports Apache uses</a></li></ul><h2>How it Works</h2>
+ <p>Each process has a fixed
number of threads. The server adjusts to handle load by
increasing or decreasing the number of processes.</p>
<p>A single control process is responsible for launching child
- processes. Each child process creates a fixed number of threads
- as specified in the <code>ThreadsPerChild</code> directive. The
- individual threads then listen for connections and serve them
- when they arrive.</p>
+ processes. Each child process creates a fixed number of threads as
+ specified in the <a href="mpm_common.html#threadsperchild" class="directive"><code class="directive">ThreadsPerChild</code></a> directive. The
+ individual threads then listen for connections and serve them when
+ they arrive.</p>
<p>Apache always tries to maintain a pool of <em>spare</em> or
idle server threads, which stand ready to serve incoming
requests. In this way, clients do not need to wait for a new
threads or processes to be created before their requests can be
served. Apache assesses the total number of idle threads in all
- processes, and forks or kills processes to keep this number
- within the boundaries specified by <code>MinSpareThreads</code>
- and <code>MaxSpareThreads</code>. Since this process is very
- self-regulating, it is rarely necessary to modify these
- directives from their default values. The maximum number of
+ processes, and forks or kills processes to keep this number within
+ the boundaries specified by <a href="mpm_common.html#minsparethreads" class="directive"><code class="directive">MinSpareThreads</code></a> and <a href="mpm_common.html#maxsparethreads" class="directive"><code class="directive">MaxSpareThreads</code></a>. Since this
+ process is very self-regulating, it is rarely necessary to modify
+ these directives from their default values. The maximum number of
clients that may be served simultaneously is determined by
multiplying the maximum number of server processes that will be
- created (<code>MaxClients</code>) by the number of threads
- created in each process (<code>ThreadsPerChild</code>).</p>
-
- <p>While the parent process is usually started as root under
- Unix in order to bind to port 80, the child processes and
- threads are launched by Apache as a less-privileged user. The
- <code>User</code> and <code>Group</code> 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>
+ created (<a href="mpm_common.html#maxclients" class="directive"><code class="directive">MaxClients</code></a>) by
+ the number of threads created in each process (<a href="mpm_common.html#threadsperchild" class="directive"><code class="directive">ThreadsPerChild</code></a>).</p>
- <p><code>MaxRequestsPerChild</code> controls how frequently the
- server recycles processes by killing old ones and launching new
- ones.</p>
+ <p>While the parent process is usually started as root under Unix
+ in order to bind to port 80, the child processes and threads are
+ launched by Apache as a less-privileged user. The <a href="mpm_common.html#user" class="directive"><code class="directive">User</code></a> and <a href="mpm_common.html#group" class="directive"><code class="directive">Group</code></a> 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>
- <p>See also: <a href="../bind.html">Setting which addresses and
- ports Apache uses</a>.</p>
-<h2>Directives</h2><ul><li><a href="mpm_common.html#coredumpdirectory">CoreDumpDirectory</a></li><li><a href="mpm_common.html#group">Group</a></li><li><a href="mpm_common.html#listen">Listen</a></li><li><a href="mpm_common.html#listenbacklog">ListenBacklog</a></li><li><a href="mpm_common.html#lockfile">LockFile</a></li><li><a href="mpm_common.html#maxclients">MaxClients</a></li><li><a href="mpm_common.html#maxrequestsperchild">MaxRequestsPerChild</a></li><li><a href="mpm_common.html#maxsparethreads">MaxSpareThreads</a></li><li><a href="mpm_common.html#minsparethreads">MinSpareThreads</a></li><li><a href="mpm_common.html#pidfile">PidFile</a></li><li><a href="mpm_common.html#scoreboardfile">ScoreBoardFile</a></li><li><a href="mpm_common.html#sendbuffersize">SendBufferSize</a></li><li><a href="mpm_common.html#serverlimit">ServerLimit</a></li><li><a href="mpm_common.html#startservers">StartServers</a></li><li><a href="mpm_common.html#threadlimit">ThreadLimit</a></li><li><a href="mpm_common.html#threadsperchild">ThreadsPerChild</a></li><li><a href="mpm_common.html#user">User</a></li></ul><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
+ <p><a href="mpm_common.html#maxrequestsperchild" class="directive"><code class="directive">MaxRequestsPerChild</code></a>
+ controls how frequently the server recycles processes by killing
+ old ones and launching new ones.</p>
+<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