</ul></div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div><div class="directive-section"><h2><a name="CoreDumpDirectory" id="CoreDumpDirectory">CoreDumpDirectory</a> <a name="coredumpdirectory" id="coredumpdirectory">Directive</a></h2><table class="directive"><tr><th><a href="directive-dict.html#Description">Description:
</a></th><td>Directory where Apache attempts to
switch before dumping core</td></tr><tr><th><a href="directive-dict.html#Syntax">Syntax:
- </a></th><td><code>CoreDumpDirectory <em>directory</em></code></td></tr><tr><th><a href="directive-dict.html#Default">Default:
+ </a></th><td><code>CoreDumpDirectory <var>directory</var></code></td></tr><tr><th><a href="directive-dict.html#Default">Default:
</a></th><td><code>See usage for the default setting</code></td></tr><tr><th><a href="directive-dict.html#Context">Context:
</a></th><td>server config</td></tr><tr><th><a href="directive-dict.html#Status">Status:
</a></th><td>MPM</td></tr><tr><th><a href="directive-dict.html#Module">Module:
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div><div class="directive-section"><h2><a name="Group" id="Group">Group</a> <a name="group" id="group">Directive</a></h2><table class="directive"><tr><th><a href="directive-dict.html#Description">Description:
</a></th><td>Group under which the server will answer
requests</td></tr><tr><th><a href="directive-dict.html#Syntax">Syntax:
- </a></th><td><code>Group <em>unix-group</em></code></td></tr><tr><th><a href="directive-dict.html#Default">Default:
+ </a></th><td><code>Group <var>unix-group</var></code></td></tr><tr><th><a href="directive-dict.html#Default">Default:
</a></th><td><code>Group #-1</code></td></tr><tr><th><a href="directive-dict.html#Context">Context:
</a></th><td>server config, virtual host</td></tr><tr><th><a href="directive-dict.html#Status">Status:
</a></th><td>MPM</td></tr><tr><th><a href="directive-dict.html#Module">Module:
<p>The <code class="directive">Group</code> directive sets the group under
which the server will answer requests. In order to use this
directive, the stand-alone server must be run initially as root.
- <em>Unix-group</em> is one of:</p>
+ <var>Unix-group</var> is one of:</p>
<dl>
<dt>A group name</dt>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div><div class="directive-section"><h2><a name="Listen" id="Listen">Listen</a> <a name="listen" id="listen">Directive</a></h2><table class="directive"><tr><th><a href="directive-dict.html#Description">Description:
</a></th><td>IP addresses and ports that the server
listens to</td></tr><tr><th><a href="directive-dict.html#Syntax">Syntax:
- </a></th><td><code>Listen [<em>IP-address</em>:]<em>portnumber</em></code></td></tr><tr><th><a href="directive-dict.html#Context">Context:
+ </a></th><td><code>Listen [<var>IP-address</var>:]<var>portnumber</var></code></td></tr><tr><th><a href="directive-dict.html#Context">Context:
</a></th><td>server config</td></tr><tr><th><a href="directive-dict.html#Status">Status:
</a></th><td>MPM</td></tr><tr><th><a href="directive-dict.html#Module">Module:
</a></th><td><code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/perchild.html">perchild</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code>, <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code></td></tr></table>
<p>For example, to make the server accept connections on both
port 80 and port 8000, use:</p>
-<div class="example"><p><code>
- Listen 80<br />
- Listen 8000
-</code></p></div>
+
+ <div class="example"><p><code>
+ Listen 80<br />
+ Listen 8000
+ </code></p></div>
+
<p>To make the server accept connections on two specified
interfaces and port numbers, use </p>
-<div class="example"><p><code>
- Listen 192.170.2.1:80<br />
- Listen 192.170.2.5:8000
-</code></p></div>
+
+ <div class="example"><p><code>
+ Listen 192.170.2.1:80<br />
+ Listen 192.170.2.5:8000
+ </code></p></div>
+
<p>IPv6 addresses must be surrounded in square brackets, as in the
following example:</p>
-<div class="example"><p><code>
- Listen [fe80::a00:20ff:fea7:ccea]:80
-</code></p></div>
+
+ <div class="example"><p><code>
+ Listen [fe80::a00:20ff:fea7:ccea]:80
+ </code></p></div>
<h3>See also</h3><ul><li><a href="../dns-caveats.html">DNS Issues</a></li><li><a href="../bind.html">Setting
which addresses and ports Apache uses</a></li></ul></div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div><div class="directive-section"><h2><a name="ListenBackLog" id="ListenBackLog">ListenBackLog</a> <a name="listenbacklog" id="listenbacklog">Directive</a></h2><table class="directive"><tr><th><a href="directive-dict.html#Description">Description:
</a></th><td>Maximum length of the queue of pending connections</td></tr><tr><th><a href="directive-dict.html#Syntax">Syntax:
- </a></th><td><code>ListenBacklog <em>backlog</em></code></td></tr><tr><th><a href="directive-dict.html#Default">Default:
+ </a></th><td><code>ListenBacklog <var>backlog</var></code></td></tr><tr><th><a href="directive-dict.html#Default">Default:
</a></th><td><code>ListenBacklog 511</code></td></tr><tr><th><a href="directive-dict.html#Context">Context:
</a></th><td>server config</td></tr><tr><th><a href="directive-dict.html#Status">Status:
</a></th><td>MPM</td></tr><tr><th><a href="directive-dict.html#Module">Module:
set.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div><div class="directive-section"><h2><a name="LockFile" id="LockFile">LockFile</a> <a name="lockfile" id="lockfile">Directive</a></h2><table class="directive"><tr><th><a href="directive-dict.html#Description">Description:
</a></th><td>Location of the accept serialization lock file</td></tr><tr><th><a href="directive-dict.html#Syntax">Syntax:
- </a></th><td><code>LockFile <em>filename</em></code></td></tr><tr><th><a href="directive-dict.html#Default">Default:
+ </a></th><td><code>LockFile <var>filename</var></code></td></tr><tr><th><a href="directive-dict.html#Default">Default:
</a></th><td><code>LockFile logs/accept.lock</code></td></tr><tr><th><a href="directive-dict.html#Context">Context:
</a></th><td>server config</td></tr><tr><th><a href="directive-dict.html#Status">Status:
</a></th><td>MPM</td></tr><tr><th><a href="directive-dict.html#Module">Module:
disk</strong>. The PID of the main server process is
automatically appended to the filename.</p>
- <p><strong>SECURITY:</strong> It is best to avoid putting this
- file in a world writable directory such as
- <code>/var/tmp</code> because someone could create a denial of
+ <div class="warning"><h3>Security:</h3>
+ <p>It is best to avoid putting this file in a world writable directory
+ such as <code>/var/tmp</code> because someone could create a denial of
service attack and prevent the server from starting by creating
a lockfile with the same name as the one the server will try to
create.</p>
+ </div>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div><div class="directive-section"><h2><a name="MaxClients" id="MaxClients">MaxClients</a> <a name="maxclients" id="maxclients">Directive</a></h2><table class="directive"><tr><th><a href="directive-dict.html#Description">Description:
</a></th><td>Maximum number of child processes that will be created
to serve requests</td></tr><tr><th><a href="directive-dict.html#Syntax">Syntax:
- </a></th><td><code>MaxClients <em>number</em></code></td></tr><tr><th><a href="directive-dict.html#Context">Context:
+ </a></th><td><code>MaxClients <var>number</var></code></td></tr><tr><th><a href="directive-dict.html#Context">Context:
</a></th><td>server config</td></tr><tr><th><a href="directive-dict.html#Status">Status:
</a></th><td>MPM</td></tr><tr><th><a href="directive-dict.html#Module">Module:
</a></th><td><code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code></td></tr></table>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div><div class="directive-section"><h2><a name="MaxMemFree" id="MaxMemFree">MaxMemFree</a> <a name="maxmemfree" id="maxmemfree">Directive</a></h2><table class="directive"><tr><th><a href="directive-dict.html#Description">Description:
</a></th><td>Maximum amount of memory that the main allocator is allowed
to hold without calling free()</td></tr><tr><th><a href="directive-dict.html#Syntax">Syntax:
- </a></th><td><code>MaxMemFree <em>number</em></code></td></tr><tr><th><a href="directive-dict.html#Context">Context:
+ </a></th><td><code>MaxMemFree <var>number</var></code></td></tr><tr><th><a href="directive-dict.html#Context">Context:
</a></th><td>server config</td></tr><tr><th><a href="directive-dict.html#Status">Status:
</a></th><td>MPM</td></tr><tr><th><a href="directive-dict.html#Module">Module:
</a></th><td><code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code>, <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code></td></tr></table>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div><div class="directive-section"><h2><a name="MaxRequestsPerChild" id="MaxRequestsPerChild">MaxRequestsPerChild</a> <a name="maxrequestsperchild" id="maxrequestsperchild">Directive</a></h2><table class="directive"><tr><th><a href="directive-dict.html#Description">Description:
</a></th><td>Limit on the number of requests that an individual child server
will handle during its life</td></tr><tr><th><a href="directive-dict.html#Syntax">Syntax:
- </a></th><td><code>MaxRequestsPerChild <em>number</em></code></td></tr><tr><th><a href="directive-dict.html#Default">Default:
+ </a></th><td><code>MaxRequestsPerChild <var>number</var></code></td></tr><tr><th><a href="directive-dict.html#Default">Default:
</a></th><td><code>MaxRequestsPerChild 10000</code></td></tr><tr><th><a href="directive-dict.html#Context">Context:
</a></th><td>server config</td></tr><tr><th><a href="directive-dict.html#Status">Status:
</a></th><td>MPM</td></tr><tr><th><a href="directive-dict.html#Module">Module:
the number of processes when the server load reduces.</li>
</ul>
- <p><strong>NOTE:</strong> For <em>KeepAlive</em> requests, only
- the first request is counted towards this limit. In effect, it
- changes the behavior to limit the number of
- <em>connections</em> per child.</p>
+ <div class="note"><h3>Note:</h3>
+ <p>For <em>KeepAlive</em> requests, only the first request is counted
+ towards this limit. In effect, it changes the behavior to limit the
+ number of <em>connections</em> per child.</p>
+ </div>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div><div class="directive-section"><h2><a name="MaxSpareThreads" id="MaxSpareThreads">MaxSpareThreads</a> <a name="maxsparethreads" id="maxsparethreads">Directive</a></h2><table class="directive"><tr><th><a href="directive-dict.html#Description">Description:
</a></th><td>Maximum number of idle threads</td></tr><tr><th><a href="directive-dict.html#Syntax">Syntax:
- </a></th><td><code>MaxSpareThreads <em>number</em></code></td></tr><tr><th><a href="directive-dict.html#Context">Context:
+ </a></th><td><code>MaxSpareThreads <var>number</var></code></td></tr><tr><th><a href="directive-dict.html#Context">Context:
</a></th><td>server config</td></tr><tr><th><a href="directive-dict.html#Status">Status:
</a></th><td>MPM</td></tr><tr><th><a href="directive-dict.html#Module">Module:
</a></th><td><code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>, <code class="module"><a href="../mod/perchild.html">perchild</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code></td></tr></table>
<h3>See also</h3><ul><li><code class="directive"><a href="#minsparethreads">MinSpareThreads</a></code></li><li><code class="directive"><a href="#startservers">StartServers</a></code></li></ul></div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div><div class="directive-section"><h2><a name="MaxThreadsPerChild" id="MaxThreadsPerChild">MaxThreadsPerChild</a> <a name="maxthreadsperchild" id="maxthreadsperchild">Directive</a></h2><table class="directive"><tr><th><a href="directive-dict.html#Description">Description:
</a></th><td>Maximum number of threads per child process</td></tr><tr><th><a href="directive-dict.html#Syntax">Syntax:
- </a></th><td><code>MaxThreadsPerChild <em>number</em></code></td></tr><tr><th><a href="directive-dict.html#Default">Default:
+ </a></th><td><code>MaxThreadsPerChild <var>number</var></code></td></tr><tr><th><a href="directive-dict.html#Default">Default:
</a></th><td><code>MaxThreadsPerChild 64</code></td></tr><tr><th><a href="directive-dict.html#Context">Context:
</a></th><td>server config</td></tr><tr><th><a href="directive-dict.html#Status">Status:
</a></th><td>MPM</td></tr><tr><th><a href="directive-dict.html#Module">Module:
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div><div class="directive-section"><h2><a name="MinSpareThreads" id="MinSpareThreads">MinSpareThreads</a> <a name="minsparethreads" id="minsparethreads">Directive</a></h2><table class="directive"><tr><th><a href="directive-dict.html#Description">Description:
</a></th><td>Minimum number of idle threads available to handle request
spikes</td></tr><tr><th><a href="directive-dict.html#Syntax">Syntax:
- </a></th><td><code>MinSpareServers <em>number</em></code></td></tr><tr><th><a href="directive-dict.html#Context">Context:
+ </a></th><td><code>MinSpareServers <var>number</var></code></td></tr><tr><th><a href="directive-dict.html#Context">Context:
</a></th><td>server config</td></tr><tr><th><a href="directive-dict.html#Status">Status:
</a></th><td>MPM</td></tr><tr><th><a href="directive-dict.html#Module">Module:
</a></th><td><code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>, <code class="module"><a href="../mod/perchild.html">perchild</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code></td></tr></table>
<h3>See also</h3><ul><li><code class="directive"><a href="#maxsparethreads">MaxSpareThreads</a></code></li><li><code class="directive"><a href="#startservers">StartServers</a></code></li></ul></div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div><div class="directive-section"><h2><a name="NumServers" id="NumServers">NumServers</a> <a name="numservers" id="numservers">Directive</a></h2><table class="directive"><tr><th><a href="directive-dict.html#Description">Description:
</a></th><td>Total number of children alive at the same time</td></tr><tr><th><a href="directive-dict.html#Syntax">Syntax:
- </a></th><td><code>NumServers <em>number</em></code></td></tr><tr><th><a href="directive-dict.html#Default">Default:
+ </a></th><td><code>NumServers <var>number</var></code></td></tr><tr><th><a href="directive-dict.html#Default">Default:
</a></th><td><code>NumServers 2</code></td></tr><tr><th><a href="directive-dict.html#Context">Context:
</a></th><td>server config</td></tr><tr><th><a href="directive-dict.html#Status">Status:
</a></th><td>MPM</td></tr><tr><th><a href="directive-dict.html#Module">Module:
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div><div class="directive-section"><h2><a name="PidFile" id="PidFile">PidFile</a> <a name="pidfile" id="pidfile">Directive</a></h2><table class="directive"><tr><th><a href="directive-dict.html#Description">Description:
</a></th><td>File where the server records the process ID
of the daemon</td></tr><tr><th><a href="directive-dict.html#Syntax">Syntax:
- </a></th><td><code>PidFile <em>filename</em></code></td></tr><tr><th><a href="directive-dict.html#Default">Default:
+ </a></th><td><code>PidFile <var>filename</var></code></td></tr><tr><th><a href="directive-dict.html#Default">Default:
</a></th><td><code>PidFile logs/httpd.pid</code></td></tr><tr><th><a href="directive-dict.html#Context">Context:
</a></th><td>server config</td></tr><tr><th><a href="directive-dict.html#Status">Status:
</a></th><td>MPM</td></tr><tr><th><a href="directive-dict.html#Module">Module:
relative to the <code class="directive"><a href="../mod/core.html#serverroot">ServerRoot</a></code>.</p>
<div class="example"><h3>Example</h3><p><code>
- PidFile /var/run/apache.pid
+ PidFile /var/run/apache.pid
</code></p></div>
<p>It is often useful to be able to send the server a signal,
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div><div class="directive-section"><h2><a name="ScoreBoardFile" id="ScoreBoardFile">ScoreBoardFile</a> <a name="scoreboardfile" id="scoreboardfile">Directive</a></h2><table class="directive"><tr><th><a href="directive-dict.html#Description">Description:
</a></th><td>Location of the file used to store coordination data for
the child processes</td></tr><tr><th><a href="directive-dict.html#Syntax">Syntax:
- </a></th><td><code>ScoreBoardFile <em>file-path</em></code></td></tr><tr><th><a href="directive-dict.html#Default">Default:
+ </a></th><td><code>ScoreBoardFile <var>file-path</var></code></td></tr><tr><th><a href="directive-dict.html#Default">Default:
</a></th><td><code>ScoreBoardFile logs/apache_status</code></td></tr><tr><th><a href="directive-dict.html#Context">Context:
</a></th><td>server config</td></tr><tr><th><a href="directive-dict.html#Status">Status:
</a></th><td>MPM</td></tr><tr><th><a href="directive-dict.html#Module">Module:
Apache to always create the file on the disk.</p>
<div class="example"><h3>Example</h3><p><code>
- ScoreBoardFile /var/run/apache_status
+ ScoreBoardFile /var/run/apache_status
</code></p></div>
<p>File-based shared memory is useful for third-party applications
and <a href="../misc/security_tips.html">security</a>.</p>
<h3>See also</h3><ul><li><a href="../stopping.html">Stopping and Restarting Apache</a></li></ul></div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div><div class="directive-section"><h2><a name="SendBufferSize" id="SendBufferSize">SendBufferSize</a> <a name="sendbuffersize" id="sendbuffersize">Directive</a></h2><table class="directive"><tr><th><a href="directive-dict.html#Description">Description:
</a></th><td>TCP buffer size</td></tr><tr><th><a href="directive-dict.html#Syntax">Syntax:
- </a></th><td><code>SendBufferSize <em>bytes</em></code></td></tr><tr><th><a href="directive-dict.html#Context">Context:
+ </a></th><td><code>SendBufferSize <var>bytes</var></code></td></tr><tr><th><a href="directive-dict.html#Context">Context:
</a></th><td>server config</td></tr><tr><th><a href="directive-dict.html#Status">Status:
</a></th><td>MPM</td></tr><tr><th><a href="directive-dict.html#Module">Module:
</a></th><td><code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/perchild.html">perchild</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code>, <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code></td></tr></table>
transcontinental fast pipes).</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div><div class="directive-section"><h2><a name="ServerLimit" id="ServerLimit">ServerLimit</a> <a name="serverlimit" id="serverlimit">Directive</a></h2><table class="directive"><tr><th><a href="directive-dict.html#Description">Description:
</a></th><td>Upper limit on configurable number of processes</td></tr><tr><th><a href="directive-dict.html#Syntax">Syntax:
- </a></th><td><code>ServerLimit <em>number</em></code></td></tr><tr><th><a href="directive-dict.html#Default">Default:
+ </a></th><td><code>ServerLimit <var>number</var></code></td></tr><tr><th><a href="directive-dict.html#Default">Default:
</a></th><td><code>ServerLimit 256 (prefork), ServerLimit 16 (worker)</code></td></tr><tr><th><a href="directive-dict.html#Context">Context:
</a></th><td>server config</td></tr><tr><th><a href="directive-dict.html#Status">Status:
</a></th><td>MPM</td></tr><tr><th><a href="directive-dict.html#Module">Module:
processes required by what you may want for <code class="directive"><a href="#maxclients ">MaxClients </a></code> and <code class="directive"><a href="#threadsperchild">ThreadsPerChild</a></code>.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div><div class="directive-section"><h2><a name="StartServers" id="StartServers">StartServers</a> <a name="startservers" id="startservers">Directive</a></h2><table class="directive"><tr><th><a href="directive-dict.html#Description">Description:
</a></th><td>Number of child server processes created at startup</td></tr><tr><th><a href="directive-dict.html#Syntax">Syntax:
- </a></th><td><code>StartServers <em>number</em></code></td></tr><tr><th><a href="directive-dict.html#Default">Default:
+ </a></th><td><code>StartServers <var>number</var></code></td></tr><tr><th><a href="directive-dict.html#Default">Default:
</a></th><td><code>StartServers 5</code></td></tr><tr><th><a href="directive-dict.html#Context">Context:
</a></th><td>server config</td></tr><tr><th><a href="directive-dict.html#Status">Status:
</a></th><td>MPM</td></tr><tr><th><a href="directive-dict.html#Module">Module:
there is usually little reason to adjust this parameter.</p>
<h3>See also</h3><ul><li><code class="directive"><a href="#minsparethreads">MinSpareThreads</a></code></li><li><code class="directive"><a href="#maxsparethreads">MaxSpareThreads</a></code></li></ul></div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div><div class="directive-section"><h2><a name="StartThreads" id="StartThreads">StartThreads</a> <a name="startthreads" id="startthreads">Directive</a></h2><table class="directive"><tr><th><a href="directive-dict.html#Description">Description:
</a></th><td>Nubmer of threads created on startup</td></tr><tr><th><a href="directive-dict.html#Syntax">Syntax:
- </a></th><td><code>StartThreads <em>number</em></code></td></tr><tr><th><a href="directive-dict.html#Context">Context:
+ </a></th><td><code>StartThreads <var>number</var></code></td></tr><tr><th><a href="directive-dict.html#Context">Context:
</a></th><td>server config</td></tr><tr><th><a href="directive-dict.html#Status">Status:
</a></th><td>MPM</td></tr><tr><th><a href="directive-dict.html#Module">Module:
</a></th><td><code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>, <code class="module"><a href="../mod/perchild.html">perchild</a></code></td></tr></table>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div><div class="directive-section"><h2><a name="ThreadLimit" id="ThreadLimit">ThreadLimit</a> <a name="threadlimit" id="threadlimit">Directive</a></h2><table class="directive"><tr><th><a href="directive-dict.html#Description">Description:
</a></th><td>Sets the upper limit on the configurable number of threads
per child process</td></tr><tr><th><a href="directive-dict.html#Syntax">Syntax:
- </a></th><td><code>ThreadLimit <em>number</em></code></td></tr><tr><th><a href="directive-dict.html#Context">Context:
+ </a></th><td><code>ThreadLimit <var>number</var></code></td></tr><tr><th><a href="directive-dict.html#Context">Context:
</a></th><td>server config</td></tr><tr><th><a href="directive-dict.html#Status">Status:
</a></th><td>MPM</td></tr><tr><th><a href="directive-dict.html#Module">Module:
</a></th><td><code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code></td></tr></table>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div><div class="directive-section"><h2><a name="ThreadsPerChild" id="ThreadsPerChild">ThreadsPerChild</a> <a name="threadsperchild" id="threadsperchild">Directive</a></h2><table class="directive"><tr><th><a href="directive-dict.html#Description">Description:
</a></th><td>Number of threads created by each child process</td></tr><tr><th><a href="directive-dict.html#Syntax">Syntax:
- </a></th><td><code>ThreadsPerChild <em>number</em></code></td></tr><tr><th><a href="directive-dict.html#Context">Context:
+ </a></th><td><code>ThreadsPerChild <var>number</var></code></td></tr><tr><th><a href="directive-dict.html#Context">Context:
</a></th><td>server config</td></tr><tr><th><a href="directive-dict.html#Status">Status:
</a></th><td>MPM</td></tr><tr><th><a href="directive-dict.html#Module">Module:
</a></th><td><code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code></td></tr></table>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div><div class="directive-section"><h2><a name="User" id="User">User</a> <a name="user" id="user">Directive</a></h2><table class="directive"><tr><th><a href="directive-dict.html#Description">Description:
</a></th><td>The userid under which the server will answer
requests</td></tr><tr><th><a href="directive-dict.html#Syntax">Syntax:
- </a></th><td><code>User <em>unix-userid</em></code></td></tr><tr><th><a href="directive-dict.html#Default">Default:
+ </a></th><td><code>User <var>unix-userid</var></code></td></tr><tr><th><a href="directive-dict.html#Default">Default:
</a></th><td><code>User #-1</code></td></tr><tr><th><a href="directive-dict.html#Context">Context:
</a></th><td>server config, virtual host</td></tr><tr><th><a href="directive-dict.html#Status">Status:
</a></th><td>MPM</td></tr><tr><th><a href="directive-dict.html#Module">Module:
<p>The <code class="directive">User</code> directive sets the userid as
which the server will answer requests. In order to use this
directive, the standalone server must be run initially as
- root. <em>Unix-userid</em> is one of:</p>
+ root. <var>Unix-userid</var> is one of:</p>
<dl>
<dt>A username</dt>
<name>CoreDumpDirectory</name>
<description>Directory where Apache attempts to
switch before dumping core</description>
-<syntax>CoreDumpDirectory <em>directory</em></syntax>
+<syntax>CoreDumpDirectory <var>directory</var></syntax>
<default>See usage for the default setting</default>
<contextlist><context>server config</context></contextlist>
<modulelist><module>worker</module><module>perchild</module>
<name>Group</name>
<description>Group under which the server will answer
requests</description>
-<syntax>Group <em>unix-group</em></syntax>
+<syntax>Group <var>unix-group</var></syntax>
<default>Group #-1</default>
<contextlist><context>server config</context><context>virtual host</context>
</contextlist>
<p>The <directive>Group</directive> directive sets the group under
which the server will answer requests. In order to use this
directive, the stand-alone server must be run initially as root.
- <em>Unix-group</em> is one of:</p>
+ <var>Unix-group</var> is one of:</p>
<dl>
<dt>A group name</dt>
<name>PidFile</name>
<description>File where the server records the process ID
of the daemon</description>
-<syntax>PidFile <em>filename</em></syntax>
+<syntax>PidFile <var>filename</var></syntax>
<default>PidFile logs/httpd.pid</default>
<contextlist><context>server config</context></contextlist>
<modulelist><module>worker</module><module>perchild</module>
relative to the <directive module="core">ServerRoot</directive>.</p>
<example><title>Example</title>
- PidFile /var/run/apache.pid
+ PidFile /var/run/apache.pid
</example>
<p>It is often useful to be able to send the server a signal,
<name>Listen</name>
<description>IP addresses and ports that the server
listens to</description>
-<syntax>Listen [<em>IP-address</em>:]<em>portnumber</em></syntax>
+<syntax>Listen [<var>IP-address</var>:]<var>portnumber</var></syntax>
<contextlist><context>server config</context></contextlist>
<modulelist><module>worker</module><module>perchild</module>
<module>prefork</module><module>mpm_winnt</module>
<p>For example, to make the server accept connections on both
port 80 and port 8000, use:</p>
-<example>
- Listen 80<br />
- Listen 8000
-</example>
+
+ <example>
+ Listen 80<br />
+ Listen 8000
+ </example>
+
<p>To make the server accept connections on two specified
interfaces and port numbers, use </p>
-<example>
- Listen 192.170.2.1:80<br />
- Listen 192.170.2.5:8000
-</example>
+
+ <example>
+ Listen 192.170.2.1:80<br />
+ Listen 192.170.2.5:8000
+ </example>
+
<p>IPv6 addresses must be surrounded in square brackets, as in the
following example:</p>
-<example>
- Listen [fe80::a00:20ff:fea7:ccea]:80
-</example>
+
+ <example>
+ Listen [fe80::a00:20ff:fea7:ccea]:80
+ </example>
</usage>
<seealso><a href="../dns-caveats.html">DNS Issues</a></seealso>
<directivesynopsis>
<name>ListenBackLog</name>
<description>Maximum length of the queue of pending connections</description>
-<syntax>ListenBacklog <em>backlog</em></syntax>
+<syntax>ListenBacklog <var>backlog</var></syntax>
<default>ListenBacklog 511</default>
<contextlist><context>server config</context></contextlist>
<modulelist><module>worker</module><module>perchild</module>
<directivesynopsis>
<name>LockFile</name>
<description>Location of the accept serialization lock file</description>
-<syntax>LockFile <em>filename</em></syntax>
+<syntax>LockFile <var>filename</var></syntax>
<default>LockFile logs/accept.lock</default>
<contextlist><context>server config</context></contextlist>
<modulelist><module>worker</module><module>perchild</module>
disk</strong>. The PID of the main server process is
automatically appended to the filename.</p>
- <p><strong>SECURITY:</strong> It is best to avoid putting this
- file in a world writable directory such as
- <code>/var/tmp</code> because someone could create a denial of
+ <note type="warning"><title>Security:</title>
+ <p>It is best to avoid putting this file in a world writable directory
+ such as <code>/var/tmp</code> because someone could create a denial of
service attack and prevent the server from starting by creating
a lockfile with the same name as the one the server will try to
create.</p>
+ </note>
</usage>
</directivesynopsis>
<name>MaxClients</name>
<description>Maximum number of child processes that will be created
to serve requests</description>
-<syntax>MaxClients <em>number</em></syntax>
+<syntax>MaxClients <var>number</var></syntax>
<contextlist><context>server config</context></contextlist>
<modulelist><module>worker</module><module>prefork</module>
</modulelist>
<name>MaxMemFree</name>
<description>Maximum amount of memory that the main allocator is allowed
to hold without calling free()</description>
-<syntax>MaxMemFree <em>number</em></syntax>
+<syntax>MaxMemFree <var>number</var></syntax>
<contextlist><context>server config</context></contextlist>
<modulelist><module>worker</module><module>prefork</module>
<module>mpm_netware</module>
<name>MaxRequestsPerChild</name>
<description>Limit on the number of requests that an individual child server
will handle during its life</description>
-<syntax>MaxRequestsPerChild <em>number</em></syntax>
+<syntax>MaxRequestsPerChild <var>number</var></syntax>
<default>MaxRequestsPerChild 10000</default>
<contextlist><context>server config</context></contextlist>
<modulelist><module>worker</module><module>perchild</module>
the number of processes when the server load reduces.</li>
</ul>
- <p><strong>NOTE:</strong> For <em>KeepAlive</em> requests, only
- the first request is counted towards this limit. In effect, it
- changes the behavior to limit the number of
- <em>connections</em> per child.</p>
+ <note><title>Note:</title>
+ <p>For <em>KeepAlive</em> requests, only the first request is counted
+ towards this limit. In effect, it changes the behavior to limit the
+ number of <em>connections</em> per child.</p>
+ </note>
</usage>
</directivesynopsis>
<directivesynopsis>
<name>MaxSpareThreads</name>
<description>Maximum number of idle threads</description>
-<syntax>MaxSpareThreads <em>number</em></syntax>
+<syntax>MaxSpareThreads <var>number</var></syntax>
<contextlist><context>server config</context></contextlist>
<modulelist><module>mpm_netware</module>
<module>perchild</module><module>worker</module>
<directivesynopsis>
<name>MaxThreadsPerChild</name>
<description>Maximum number of threads per child process</description>
-<syntax>MaxThreadsPerChild <em>number</em></syntax>
+<syntax>MaxThreadsPerChild <var>number</var></syntax>
<default>MaxThreadsPerChild 64</default>
<contextlist><context>server config</context></contextlist>
<modulelist><module>worker</module><module>perchild</module>
<name>MinSpareThreads</name>
<description>Minimum number of idle threads available to handle request
spikes</description>
-<syntax>MinSpareServers <em>number</em></syntax>
+<syntax>MinSpareServers <var>number</var></syntax>
<contextlist><context>server config</context></contextlist>
<modulelist><module>mpm_netware</module>
<module>perchild</module><module>worker</module>
<directivesynopsis>
<name>NumServers</name>
<description>Total number of children alive at the same time</description>
-<syntax>NumServers <em>number</em></syntax>
+<syntax>NumServers <var>number</var></syntax>
<default>NumServers 2</default>
<contextlist><context>server config</context></contextlist>
<modulelist><module>perchild</module></modulelist>
<name>ScoreBoardFile</name>
<description>Location of the file used to store coordination data for
the child processes</description>
-<syntax>ScoreBoardFile <em>file-path</em></syntax>
+<syntax>ScoreBoardFile <var>file-path</var></syntax>
<default>ScoreBoardFile logs/apache_status</default>
<contextlist><context>server config</context></contextlist>
<modulelist><module>worker</module><module>perchild</module>
Apache to always create the file on the disk.</p>
<example><title>Example</title>
- ScoreBoardFile /var/run/apache_status
+ ScoreBoardFile /var/run/apache_status
</example>
<p>File-based shared memory is useful for third-party applications
<directivesynopsis>
<name>SendBufferSize</name>
<description>TCP buffer size</description>
-<syntax>SendBufferSize <em>bytes</em></syntax>
+<syntax>SendBufferSize <var>bytes</var></syntax>
<contextlist><context>server config</context></contextlist>
<modulelist><module>worker</module><module>perchild</module>
<module>prefork</module><module>mpm_winnt</module>
<directivesynopsis>
<name>ServerLimit</name>
<description>Upper limit on configurable number of processes</description>
-<syntax>ServerLimit <em>number</em></syntax>
+<syntax>ServerLimit <var>number</var></syntax>
<default>ServerLimit 256 (prefork), ServerLimit 16 (worker)</default>
<contextlist><context>server config</context></contextlist>
<modulelist><module>worker</module><module>prefork</module>
<directivesynopsis>
<name>StartServers</name>
<description>Number of child server processes created at startup</description>
-<syntax>StartServers <em>number</em></syntax>
+<syntax>StartServers <var>number</var></syntax>
<default>StartServers 5</default>
<contextlist><context>server config</context></contextlist>
<modulelist><module>worker</module></modulelist>
<directivesynopsis>
<name>StartThreads</name>
<description>Nubmer of threads created on startup</description>
-<syntax>StartThreads <em>number</em></syntax>
+<syntax>StartThreads <var>number</var></syntax>
<contextlist><context>server config</context></contextlist>
<modulelist><module>mpm_netware</module><module>perchild</module></modulelist>
<name>ThreadLimit</name>
<description>Sets the upper limit on the configurable number of threads
per child process</description>
-<syntax>ThreadLimit <em>number</em></syntax>
+<syntax>ThreadLimit <var>number</var></syntax>
<contextlist><context>server config</context></contextlist>
<modulelist><module>mpm_winnt</module><module>worker</module></modulelist>
<directivesynopsis>
<name>ThreadsPerChild</name>
<description>Number of threads created by each child process</description>
-<syntax>ThreadsPerChild <em>number</em></syntax>
+<syntax>ThreadsPerChild <var>number</var></syntax>
<contextlist><context>server config</context></contextlist>
<modulelist><module>worker</module><module>mpm_winnt</module>
</modulelist>
<name>User</name>
<description>The userid under which the server will answer
requests</description>
-<syntax>User <em>unix-userid</em></syntax>
+<syntax>User <var>unix-userid</var></syntax>
<default>User #-1</default>
<contextlist><context>server config</context><context>virtual host</context>
</contextlist>
<p>The <directive>User</directive> directive sets the userid as
which the server will answer requests. In order to use this
directive, the standalone server must be run initially as
- root. <em>Unix-userid</em> is one of:</p>
+ root. <var>Unix-userid</var> is one of:</p>
<dl>
<dt>A username</dt>
<p>The main thread is responsible for launching child
worker threads which listen for connections and serve them when they
- arrive. Apache always tries to maintain several <em>spare</em>
+ arrive. Apache always tries to maintain several <dfn>spare</dfn>
or idle worker threads, which stand ready to serve incoming
requests. In this way, clients do not need to wait for a new
child threads to be spawned before their requests can be
served.</p>
- <p>The <code>StartThreads</code>, <code>MinSpareThreads</code>,
- <code>MaxSpareThreads</code>, and <code>MaxThreads</code>
+ <p>The <code class="directive"><a href="../mod/mpm_common.html#startthreads">StartThreads</a></code>,
+ <code class="directive"><a href="../mod/mpm_common.html#minsparethreads">MinSpareThreads</a></code>,
+ <code class="directive"><a href="../mod/mpm_common.html#maxsparethreads">MaxSpareThreads</a></code>, and
+ <code class="directive"><a href="#maxthreads">MaxThreads</a></code>
regulate how the main thread creates worker threads to serve
requests. In general, Apache is very self-regulating, so most
sites do not need to adjust these directives from their default
values. Sites which need to serve more than 250 simultaneous
- requests may need to increase <code>MaxThreads</code>, while
+ requests may need to increase <code class="directive">MaxThreads</code>, while
sites with limited memory may need to decrease
- <code>MaxThreads</code> to keep the server from thrashing (spawning and
- terminating idle threads). More information about
+ <code class="directive">MaxThreads</code> to keep the server from thrashing
+ (spawning and terminating idle threads). More information about
tuning process creation is provided in the <a href="../misc/perf-tuning.html">performance hints</a>
documentation.</p>
- <p><code>MaxRequestsPerChild</code> controls how frequently the
- server recycles processes by killing old ones and launching new
- ones. On the NetWare OS it is highly recommended that this directive
- remain set to 0. This allows worker threads to continue servicing
- requests indefinitely.</p>
-
- <p>See also: <a href="../bind.html">Setting which addresses and
- ports Apache uses</a>.</p>
+ <p><code class="directive"><a href="../mod/mpm_common.html#maxrequestsperchild">MaxRequestsPerChild</a></code>
+ controls how frequently the server recycles processes by killing old
+ ones and launching new ones. On the NetWare OS it is highly
+ recommended that this directive remain set to 0. This allows worker
+ threads to continue servicing requests indefinitely.</p>
</div><div id="quickview"><h3 class="directives">Directives</h3><ul id="toc"><li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#listen">Listen</a></li>
<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#listenbacklog">ListenBacklog</a></li>
<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#maxmemfree">MaxMemFree</a></li>
<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#sendbuffersize">SendBufferSize</a></li>
<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#startthreads">StartThreads</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#threadstacksize">ThreadStackSize</a></li>
-</ul></div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div><div class="directive-section"><h2><a name="MaxThreads" id="MaxThreads">MaxThreads</a> <a name="maxthreads" id="maxthreads">Directive</a></h2><table class="directive"><tr><th><a href="directive-dict.html#Description">Description:
+</ul><h3>See also</h3><ul class="seealso"><li><a href="../bind.html">Setting which addresses and
+ ports Apache uses</a>
+</li></ul></div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div><div class="directive-section"><h2><a name="MaxThreads" id="MaxThreads">MaxThreads</a> <a name="maxthreads" id="maxthreads">Directive</a></h2><table class="directive"><tr><th><a href="directive-dict.html#Description">Description:
</a></th><td /></tr><tr><th><a href="directive-dict.html#Syntax">Syntax:
- </a></th><td><code>MaxThreads <em>number</em></code></td></tr><tr><th><a href="directive-dict.html#Default">Default:
+ </a></th><td><code>MaxThreads <var>number</var></code></td></tr><tr><th><a href="directive-dict.html#Default">Default:
</a></th><td><code>MaxThreads 250</code></td></tr><tr><th><a href="directive-dict.html#Context">Context:
</a></th><td>server config</td></tr><tr><th><a href="directive-dict.html#Status">Status:
</a></th><td>MPM</td></tr><tr><th><a href="directive-dict.html#Module">Module:
number worker threads allowable.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div><div class="directive-section"><h2><a name="ThreadStackSize" id="ThreadStackSize">ThreadStackSize</a> <a name="threadstacksize" id="threadstacksize">Directive</a></h2><table class="directive"><tr><th><a href="directive-dict.html#Description">Description:
</a></th><td /></tr><tr><th><a href="directive-dict.html#Syntax">Syntax:
- </a></th><td><code>ThreadStackSize <em>number</em></code></td></tr><tr><th><a href="directive-dict.html#Default">Default:
+ </a></th><td><code>ThreadStackSize <var>number</var></code></td></tr><tr><th><a href="directive-dict.html#Default">Default:
</a></th><td><code>ThreadStackSize 65536</code></td></tr><tr><th><a href="directive-dict.html#Context">Context:
</a></th><td>server config</td></tr><tr><th><a href="directive-dict.html#Status">Status:
</a></th><td>MPM</td></tr><tr><th><a href="directive-dict.html#Module">Module:
<p>The main thread is responsible for launching child
worker threads which listen for connections and serve them when they
- arrive. Apache always tries to maintain several <em>spare</em>
+ arrive. Apache always tries to maintain several <dfn>spare</dfn>
or idle worker threads, which stand ready to serve incoming
requests. In this way, clients do not need to wait for a new
child threads to be spawned before their requests can be
served.</p>
- <p>The <code>StartThreads</code>, <code>MinSpareThreads</code>,
- <code>MaxSpareThreads</code>, and <code>MaxThreads</code>
+ <p>The <directive module="mpm_common">StartThreads</directive>,
+ <directive module="mpm_common">MinSpareThreads</directive>,
+ <directive module="mpm_common">MaxSpareThreads</directive>, and
+ <directive module="mpm_netware">MaxThreads</directive>
regulate how the main thread creates worker threads to serve
requests. In general, Apache is very self-regulating, so most
sites do not need to adjust these directives from their default
values. Sites which need to serve more than 250 simultaneous
- requests may need to increase <code>MaxThreads</code>, while
+ requests may need to increase <directive>MaxThreads</directive>, while
sites with limited memory may need to decrease
- <code>MaxThreads</code> to keep the server from thrashing (spawning and
- terminating idle threads). More information about
+ <directive>MaxThreads</directive> to keep the server from thrashing
+ (spawning and terminating idle threads). More information about
tuning process creation is provided in the <a
href="../misc/perf-tuning.html">performance hints</a>
documentation.</p>
- <p><code>MaxRequestsPerChild</code> controls how frequently the
- server recycles processes by killing old ones and launching new
- ones. On the NetWare OS it is highly recommended that this directive
- remain set to 0. This allows worker threads to continue servicing
- requests indefinitely.</p>
-
- <p>See also: <a href="../bind.html">Setting which addresses and
- ports Apache uses</a>.</p>
+ <p><directive module="mpm_common">MaxRequestsPerChild</directive>
+ controls how frequently the server recycles processes by killing old
+ ones and launching new ones. On the NetWare OS it is highly
+ recommended that this directive remain set to 0. This allows worker
+ threads to continue servicing requests indefinitely.</p>
</summary>
+<seealso><a href="../bind.html">Setting which addresses and
+ ports Apache uses</a>
+</seealso>
<directivesynopsis location="mpm_common"><name>Listen</name>
</directivesynopsis>
<directivesynopsis>
<name>MaxThreads</name>
-<syntax>MaxThreads <em>number</em></syntax>
+<syntax>MaxThreads <var>number</var></syntax>
<default>MaxThreads 250</default>
<contextlist><context>server config</context></contextlist>
<directivesynopsis>
<name>ThreadStackSize</name>
-<syntax>ThreadStackSize <em>number</em></syntax>
+<syntax>ThreadStackSize <var>number</var></syntax>
<default>ThreadStackSize 65536</default>
<contextlist><context>server config</context></contextlist>
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
+ <p>Apache always tries to maintain a pool of <dfn>spare</dfn> or
idle server threads, which stand ready to serve incoming
requests. In this way, clients do not need to wait for new
threads to be created. For each child process, Apache assesses
server recycles processes by killing old ones and launching new
ones.</p>
- <p>See also: <a href="../bind.html">Setting which addresses and
- ports Apache uses</a>.</p>
-
<p>In addition it adds the extra ability to specify that
specific processes should serve requests under different
userids. These processes can then be associated with specific
<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#sendbuffersize">SendBufferSize</a></li>
<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#startthreads">StartThreads</a></li>
<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#user">User</a></li>
-</ul></div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div><div class="directive-section"><h2><a name="AssignUserId" id="AssignUserId">AssignUserId</a> <a name="assignuserid" id="assignuserid">Directive</a></h2><table class="directive"><tr><th><a href="directive-dict.html#Description">Description:
+</ul><h3>See also</h3><ul class="seealso"><li><a href="../bind.html">Setting which addresses and
+ ports Apache uses</a>
+</li></ul></div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div><div class="directive-section"><h2><a name="AssignUserId" id="AssignUserId">AssignUserId</a> <a name="assignuserid" id="assignuserid">Directive</a></h2><table class="directive"><tr><th><a href="directive-dict.html#Description">Description:
</a></th><td /></tr><tr><th><a href="directive-dict.html#Syntax">Syntax:
- </a></th><td><code>AssignUserID <em>user_id</em> <em>group_id</em></code></td></tr><tr><th><a href="directive-dict.html#Context">Context:
+ </a></th><td><code>AssignUserID <var>user_id</var> <var>group_id</var></code></td></tr><tr><th><a href="directive-dict.html#Context">Context:
</a></th><td>virtual host</td></tr><tr><th><a href="directive-dict.html#Status">Status:
</a></th><td>MPM</td></tr><tr><th><a href="directive-dict.html#Module">Module:
</a></th><td>perchild</td></tr></table>
running with the specified user and group id.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div><div class="directive-section"><h2><a name="ChildPerUserId" id="ChildPerUserId">ChildPerUserId</a> <a name="childperuserid" id="childperuserid">Directive</a></h2><table class="directive"><tr><th><a href="directive-dict.html#Description">Description:
</a></th><td /></tr><tr><th><a href="directive-dict.html#Syntax">Syntax:
- </a></th><td><code>ChildPerUserID <em>user_id</em>
-<em>group_id</em> <em>num_children</em></code></td></tr><tr><th><a href="directive-dict.html#Context">Context:
+ </a></th><td><code>ChildPerUserID <var>user_id</var>
+<var>group_id</var> <var>num_children</var></code></td></tr><tr><th><a href="directive-dict.html#Context">Context:
</a></th><td>server config</td></tr><tr><th><a href="directive-dict.html#Status">Status:
</a></th><td>MPM</td></tr><tr><th><a href="directive-dict.html#Module">Module:
</a></th><td>perchild</td></tr></table>
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
+ <p>Apache always tries to maintain a pool of <dfn>spare</dfn> or
idle server threads, which stand ready to serve incoming
requests. In this way, clients do not need to wait for new
threads to be created. For each child process, Apache assesses
server recycles processes by killing old ones and launching new
ones.</p>
- <p>See also: <a href="../bind.html">Setting which addresses and
- ports Apache uses</a>.</p>
-
<p>In addition it adds the extra ability to specify that
specific processes should serve requests under different
userids. These processes can then be associated with specific
virtual hosts.</p>
<!-- XXX: This desperately needs more explanation. -->
</summary>
+<seealso><a href="../bind.html">Setting which addresses and
+ ports Apache uses</a>
+</seealso>
<directivesynopsis location="mpm_common">
<name>CoreDumpDirectory</name>
<directivesynopsis>
<name>AssignUserId</name>
-<syntax>AssignUserID <em>user_id</em> <em>group_id</em></syntax>
+<syntax>AssignUserID <var>user_id</var> <var>group_id</var></syntax>
<contextlist><context>virtual host</context></contextlist>
<usage>
<directivesynopsis>
<name>ChildPerUserId</name>
-<syntax>ChildPerUserID <em>user_id</em>
-<em>group_id</em> <em>num_children</em></syntax>
+<syntax>ChildPerUserID <var>user_id</var>
+<var>group_id</var> <var>num_children</var></syntax>
<contextlist><context>server config</context></contextlist>
<usage>
<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#serverlimit">ServerLimit</a></li>
<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#startservers">StartServers</a></li>
<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#user">User</a></li>
-</ul><h3>Topics</h3><ul id="topics"><li><img alt="" src="../images/down.gif" /> How it Works</li></ul><h3>See also</h3><ul class="seealso"><li><a href="../bind.html">Setting which addresses and
- ports Apache uses</a></li></ul></div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div><div class="section"><h2>How it Works</h2>
+</ul><h3>Topics</h3><ul id="topics"><li><img alt="" src="../images/down.gif" /> <a href="#how-it-works">How it Works</a></li></ul><h3>See also</h3><ul class="seealso"><li><a href="../bind.html">Setting which addresses and
+ ports Apache uses</a></li></ul></div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div><div class="section"><h2><a name="how-it-works" id="how-it-works">How it Works</a></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>
+ arrive. Apache always tries to maintain several <dfn>spare</dfn>
or idle server processes, which stand ready to serve incoming
requests. In this way, clients do not need to wait for a new
child processes to be forked before their requests can be
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div><div class="directive-section"><h2><a name="AcceptMutex" id="AcceptMutex">AcceptMutex</a> <a name="acceptmutex" id="acceptmutex">Directive</a></h2><table class="directive"><tr><th><a href="directive-dict.html#Description">Description:
</a></th><td>Method that Apache uses to serialize multiple children
accepting requests on network sockets</td></tr><tr><th><a href="directive-dict.html#Syntax">Syntax:
- </a></th><td><code>AcceptMutex default|<em>method</em></code></td></tr><tr><th><a href="directive-dict.html#Default">Default:
+ </a></th><td><code>AcceptMutex default|<var>method</var></code></td></tr><tr><th><a href="directive-dict.html#Default">Default:
</a></th><td><code>AcceptMutex default</code></td></tr><tr><th><a href="directive-dict.html#Context">Context:
</a></th><td>server config</td></tr><tr><th><a href="directive-dict.html#Status">Status:
</a></th><td>MPM</td></tr><tr><th><a href="directive-dict.html#Module">Module:
</dl>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div><div class="directive-section"><h2><a name="MaxSpareServers" id="MaxSpareServers">MaxSpareServers</a> <a name="maxspareservers" id="maxspareservers">Directive</a></h2><table class="directive"><tr><th><a href="directive-dict.html#Description">Description:
</a></th><td>Maximum number of idle child server processes</td></tr><tr><th><a href="directive-dict.html#Syntax">Syntax:
- </a></th><td><code>MaxSpareServers <em>number</em><br /></code></td></tr><tr><th><a href="directive-dict.html#Default">Default:
+ </a></th><td><code>MaxSpareServers <var>number</var><br /></code></td></tr><tr><th><a href="directive-dict.html#Default">Default:
</a></th><td><code>MaxSpareServers 10</code></td></tr><tr><th><a href="directive-dict.html#Context">Context:
</a></th><td>server config</td></tr><tr><th><a href="directive-dict.html#Status">Status:
</a></th><td>MPM</td></tr><tr><th><a href="directive-dict.html#Module">Module:
always a bad idea.</p>
<h3>See also</h3><ul><li><code class="directive"><a href="#minspareservers">MinSpareServers</a></code></li><li><code class="directive"><a href="../mod/mpm_common.html#startservers">StartServers</a></code></li></ul></div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div><div class="directive-section"><h2><a name="MinSpareServers" id="MinSpareServers">MinSpareServers</a> <a name="minspareservers" id="minspareservers">Directive</a></h2><table class="directive"><tr><th><a href="directive-dict.html#Description">Description:
</a></th><td>Minimum number of idle child server processes</td></tr><tr><th><a href="directive-dict.html#Syntax">Syntax:
- </a></th><td><code>MinSpareServers <em>number</em></code></td></tr><tr><th><a href="directive-dict.html#Default">Default:
+ </a></th><td><code>MinSpareServers <var>number</var></code></td></tr><tr><th><a href="directive-dict.html#Default">Default:
</a></th><td><code>MinSpareServers 5</code></td></tr><tr><th><a href="directive-dict.html#Context">Context:
</a></th><td>server config</td></tr><tr><th><a href="directive-dict.html#Status">Status:
</a></th><td>MPM</td></tr><tr><th><a href="directive-dict.html#Module">Module:
<seealso><a href="../bind.html">Setting which addresses and
ports Apache uses</a></seealso>
-<section><title>How it Works</title>
+<section id="how-it-works"><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>
+ arrive. Apache always tries to maintain several <dfn>spare</dfn>
or idle server processes, which stand ready to serve incoming
requests. In this way, clients do not need to wait for a new
child processes to be forked before their requests can be
<name>AcceptMutex</name>
<description>Method that Apache uses to serialize multiple children
accepting requests on network sockets</description>
-<syntax>AcceptMutex default|<em>method</em></syntax>
+<syntax>AcceptMutex default|<var>method</var></syntax>
<default>AcceptMutex default</default>
<contextlist><context>server config</context></contextlist>
<directivesynopsis>
<name>MaxSpareServers</name>
<description>Maximum number of idle child server processes</description>
-<syntax>MaxSpareServers <em>number</em><br /></syntax>
+<syntax>MaxSpareServers <var>number</var><br /></syntax>
<default>MaxSpareServers 10</default>
<contextlist><context>server config</context></contextlist>
<directivesynopsis>
<name>MinSpareServers</name>
<description>Minimum number of idle child server processes</description>
-<syntax>MinSpareServers <em>number</em></syntax>
+<syntax>MinSpareServers <var>number</var></syntax>
<default>MinSpareServers 5</default>
<contextlist><context>server config</context></contextlist>
<tr><th>E</th><td>Extension</td></tr>
<tr><th>X</th><td>Experimental</td></tr>
</table></td></tr></table>
-<table class="qref"><tr><td><a href="prefork.html#acceptmutex" id="A" name="A">AcceptMutex default|<em>method</em></a></td><td> default </td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Method that Apache uses to serialize multiple children
+<table class="qref"><tr><td><a href="prefork.html#acceptmutex" id="A" name="A">AcceptMutex default|<var>method</var></a></td><td> default </td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Method that Apache uses to serialize multiple children
accepting requests on network sockets</td></tr>
<tr class="odd"><td><a href="core.html#acceptpathinfo">AcceptPathInfo On|Off|Default</a></td><td> Default </td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Resources accept trailing pathname information</td></tr>
<tr><td><a href="core.html#accessfilename">AccessFileName <var>filename</var> [<var>filename</var>] ...</a></td><td> .htaccess </td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Name of the distributed configuration file</td></tr>
<tr><td><a href="mod_authn_anon.html#anonymous_nouserid">Anonymous_NoUserID on|off</a></td><td> off </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Sets whether the userID field may be empty</td></tr>
<tr class="odd"><td><a href="mod_authn_anon.html#anonymous_verifyemail">Anonymous_VerifyEmail on|off</a></td><td> off </td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Sets whether to check the password field for a correctly
formatted email address</td></tr>
-<tr><td><a href="perchild.html#assignuserid">AssignUserID <em>user_id</em> <em>group_id</em></a></td><td /><td>v</td><td>M</td></tr><tr><td class="descr" colspan="4">-</td></tr>
+<tr><td><a href="perchild.html#assignuserid">AssignUserID <var>user_id</var> <var>group_id</var></a></td><td /><td>v</td><td>M</td></tr><tr><td class="descr" colspan="4">-</td></tr>
<tr class="odd"><td><a href="mod_auth_basic.html#authbasicauthoritative">AuthBasicAuthoritative on|off</a></td><td> on </td><td>dh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Sets whether authorization and authentication are
passed to lower level modules</td></tr>
<tr><td><a href="mod_auth_basic.html#authbasicprovider">AuthBasicProvider <em>provider-name</em></a></td><td /><td>dh</td><td>B</td></tr><tr><td class="descr" colspan="4">Sets the authentication provider(s) for this location</td></tr>
<tr class="odd"><td><a href="mod_charset_lite.html#charsetsourceenc">CharsetSourceEnc <em>charset</em></a></td><td /><td>svdh</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Source charset of files</td></tr>
<tr><td><a href="mod_speling.html#checkspelling">CheckSpelling on|off</a></td><td> Off </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Enables the spelling
module</td></tr>
-<tr class="odd"><td><a href="perchild.html#childperuserid">ChildPerUserID <em>user_id</em>
-<em>group_id</em> <em>num_children</em></a></td><td /><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">-</td></tr>
+<tr class="odd"><td><a href="perchild.html#childperuserid">ChildPerUserID <var>user_id</var>
+<var>group_id</var> <var>num_children</var></a></td><td /><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">-</td></tr>
<tr><td><a href="core.html#contentdigest">ContentDigest on|off</a></td><td> off </td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Enables the generation of Content-MD5 HTTP Response
headers</td></tr>
<tr class="odd"><td><a href="mod_usertrack.html#cookiedomain">CookieDomain <em>domain</em></a></td><td /><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">The domain to which the tracking cookie applies</td></tr>
<tr class="odd"><td><a href="mod_usertrack.html#cookiestyle">CookieStyle
<em>Netscape|Cookie|Cookie2|RFC2109|RFC2965</em></a></td><td> Netscape </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Format of the cookie header field</td></tr>
<tr><td><a href="mod_usertrack.html#cookietracking">CookieTracking on|off</a></td><td> off </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Enables tracking cookie</td></tr>
-<tr class="odd"><td><a href="mpm_common.html#coredumpdirectory">CoreDumpDirectory <em>directory</em></a></td><td /><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Directory where Apache attempts to
+<tr class="odd"><td><a href="mpm_common.html#coredumpdirectory">CoreDumpDirectory <var>directory</var></a></td><td /><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Directory where Apache attempts to
switch before dumping core</td></tr>
<tr><td><a href="mod_log_config.html#customlog">CustomLog
<em>file</em>|<em>pipe</em> <em>format</em>|<em>nickname</em>
found</td></tr>
<tr><td><a href="core.html#forcetype">ForceType <var>MIME-type</var>|none</a></td><td /><td>dh</td><td>C</td></tr><tr><td class="descr" colspan="4">Forces all matching files to be served with the specified
MIME content-type</td></tr>
-<tr class="odd"><td><a href="mpm_common.html#group" id="G" name="G">Group <em>unix-group</em></a></td><td> #-1 </td><td>sv</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Group under which the server will answer
+<tr class="odd"><td><a href="mpm_common.html#group" id="G" name="G">Group <var>unix-group</var></a></td><td> #-1 </td><td>sv</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Group under which the server will answer
requests</td></tr>
<tr><td><a href="mod_headers.html#header" id="H" name="H">Header set|append|add|unset|echo <em>header</em>
[<em>value</em>]</a></td><td /><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Configure HTTP response headers</td></tr>
<tr class="odd"><td><a href="core.html#limitrequestline">LimitRequestLine <var>bytes</var></a></td><td> 8190 </td><td>s</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Limit the size of the HTTP request line that will be accepted
from the client</td></tr>
<tr><td><a href="core.html#limitxmlrequestbody">LimitXMLRequestBody <var>number</var></a></td><td> 1000000 </td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Limits the size of an XML-based request body</td></tr>
-<tr class="odd"><td><a href="mpm_common.html#listen">Listen [<em>IP-address</em>:]<em>portnumber</em></a></td><td /><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">IP addresses and ports that the server
+<tr class="odd"><td><a href="mpm_common.html#listen">Listen [<var>IP-address</var>:]<var>portnumber</var></a></td><td /><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">IP addresses and ports that the server
listens to</td></tr>
-<tr><td><a href="mpm_common.html#listenbacklog">ListenBacklog <em>backlog</em></a></td><td /><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Maximum length of the queue of pending connections</td></tr>
+<tr><td><a href="mpm_common.html#listenbacklog">ListenBacklog <var>backlog</var></a></td><td /><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Maximum length of the queue of pending connections</td></tr>
<tr class="odd"><td><a href="mod_so.html#loadfile">LoadFile <em>filename</em> [<em>filename</em>] ...</a></td><td /><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Link in the named object file or library</td></tr>
<tr><td><a href="mod_so.html#loadmodule">LoadModule <em>module filename</em></a></td><td /><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Links in the object file or library, and adds to the list
of active modules</td></tr>
<tr><td><a href="core.html#locationmatch"><LocationMatch
<var>regex</var>> ... </Location></a></td><td /><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Applies the enclosed directives only to regular-expression
matching URLs</td></tr>
-<tr class="odd"><td><a href="mpm_common.html#lockfile">LockFile <em>filename</em></a></td><td> logs/accept.lock </td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Location of the accept serialization lock file</td></tr>
+<tr class="odd"><td><a href="mpm_common.html#lockfile">LockFile <var>filename</var></a></td><td> logs/accept.lock </td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Location of the accept serialization lock file</td></tr>
<tr><td><a href="mod_log_config.html#logformat">LogFormat
<em>format</em>|<em>nickname</em> [<em>nickname</em>]</a></td><td> "%h %l %u %t \"%r\" +</td><td>sv</td><td>B</td></tr><tr><td class="descr" colspan="4">Describes a format for use in a log file</td></tr>
<tr class="odd"><td><a href="core.html#loglevel">LogLevel <var>level</var></a></td><td> warn </td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Controls the verbosity of the ErrorLog</td></tr>
-<tr><td><a href="mpm_common.html#maxclients" id="M" name="M">MaxClients <em>number</em></a></td><td /><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Maximum number of child processes that will be created
+<tr><td><a href="mpm_common.html#maxclients" id="M" name="M">MaxClients <var>number</var></a></td><td /><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Maximum number of child processes that will be created
to serve requests</td></tr>
<tr class="odd"><td><a href="core.html#maxkeepaliverequests">MaxKeepAliveRequests <var>number</var></a></td><td> 100 </td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Number of requests allowed on a persistent
connection</td></tr>
-<tr><td><a href="mpm_common.html#maxmemfree">MaxMemFree <em>number</em></a></td><td /><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Maximum amount of memory that the main allocator is allowed
+<tr><td><a href="mpm_common.html#maxmemfree">MaxMemFree <var>number</var></a></td><td /><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Maximum amount of memory that the main allocator is allowed
to hold without calling free()</td></tr>
-<tr class="odd"><td><a href="mpm_common.html#maxrequestsperchild">MaxRequestsPerChild <em>number</em></a></td><td> 10000 </td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Limit on the number of requests that an individual child server
+<tr class="odd"><td><a href="mpm_common.html#maxrequestsperchild">MaxRequestsPerChild <var>number</var></a></td><td> 10000 </td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Limit on the number of requests that an individual child server
will handle during its life</td></tr>
-<tr><td><a href="prefork.html#maxspareservers">MaxSpareServers <em>number</em><br /></a></td><td> 10 </td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Maximum number of idle child server processes</td></tr>
-<tr class="odd"><td><a href="mpm_common.html#maxsparethreads">MaxSpareThreads <em>number</em></a></td><td /><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Maximum number of idle threads</td></tr>
-<tr><td><a href="mpm_netware.html#maxthreads">MaxThreads <em>number</em></a></td><td> 250 </td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">-</td></tr>
-<tr class="odd"><td><a href="mpm_common.html#maxthreadsperchild">MaxThreadsPerChild <em>number</em></a></td><td> 64 </td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Maximum number of threads per child process</td></tr>
+<tr><td><a href="prefork.html#maxspareservers">MaxSpareServers <var>number</var><br /></a></td><td> 10 </td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Maximum number of idle child server processes</td></tr>
+<tr class="odd"><td><a href="mpm_common.html#maxsparethreads">MaxSpareThreads <var>number</var></a></td><td /><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Maximum number of idle threads</td></tr>
+<tr><td><a href="mpm_netware.html#maxthreads">MaxThreads <var>number</var></a></td><td> 250 </td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">-</td></tr>
+<tr class="odd"><td><a href="mpm_common.html#maxthreadsperchild">MaxThreadsPerChild <var>number</var></a></td><td> 64 </td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Maximum number of threads per child process</td></tr>
<tr><td><a href="mod_cern_meta.html#metadir">MetaDir <em>directory</em></a></td><td> .web </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Name of the directory to find CERN-style meta information
files</td></tr>
<tr class="odd"><td><a href="mod_cern_meta.html#metafiles">MetaFiles on|off</a></td><td> off </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Activates CERN meta-file processing</td></tr>
meta information</td></tr>
<tr class="odd"><td><a href="mod_mime_magic.html#mimemagicfile">MimeMagicFile <em>file-path</em></a></td><td /><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Enable MIME-type determination based on file contents
using the specified magic file</td></tr>
-<tr><td><a href="prefork.html#minspareservers">MinSpareServers <em>number</em></a></td><td> 5 </td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Minimum number of idle child server processes</td></tr>
-<tr class="odd"><td><a href="mpm_common.html#minsparethreads">MinSpareServers <em>number</em></a></td><td /><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Minimum number of idle threads available to handle request
+<tr><td><a href="prefork.html#minspareservers">MinSpareServers <var>number</var></a></td><td> 5 </td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Minimum number of idle child server processes</td></tr>
+<tr class="odd"><td><a href="mpm_common.html#minsparethreads">MinSpareServers <var>number</var></a></td><td /><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Minimum number of idle threads available to handle request
spikes</td></tr>
<tr><td><a href="mod_file_cache.html#mmapfile">MMapFile <em>file-path</em> [<em>file-path</em>] ...</a></td><td /><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">-</td></tr>
<tr class="odd"><td><a href="mod_mime.html#modmimeusepathinfo">ModMimeUsePathInfo On|Off</a></td><td /><td>d</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Tells mod_mime to treat path_info components as part of the filename</td></tr>
hosting</td></tr>
<tr><td><a href="mod_proxy.html#noproxy">NoProxy <em>host</em> [<em>host</em>] ...</a></td><td /><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Hosts, domains, or networks that will be connected
to directly</td></tr>
-<tr class="odd"><td><a href="mpm_common.html#numservers">NumServers <em>number</em></a></td><td> 2 </td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Total number of children alive at the same time</td></tr>
+<tr class="odd"><td><a href="mpm_common.html#numservers">NumServers <var>number</var></a></td><td> 2 </td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Total number of children alive at the same time</td></tr>
<tr><td><a href="core.html#options" id="O" name="O">Options
[+|-]<var>option</var> [[+|-]<var>option</var>] ...</a></td><td> All </td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Configures what features are available in a particular
directory</td></tr>
evaluated.</td></tr>
<tr><td><a href="mod_env.html#passenv" id="P" name="P">PassEnv
<em>env-variable</em> [<em>env-variable</em>] ...</a></td><td /><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Passes environment variables from the shell</td></tr>
-<tr class="odd"><td><a href="mpm_common.html#pidfile">PidFile <em>filename</em></a></td><td> logs/httpd.pid </td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">File where the server records the process ID
+<tr class="odd"><td><a href="mpm_common.html#pidfile">PidFile <var>filename</var></a></td><td> logs/httpd.pid </td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">File where the server records the process ID
of the daemon</td></tr>
<tr><td><a href="mod_echo.html#protocolecho">ProtocolEcho <em>On|Off</em></a></td><td /><td>sv</td><td>X</td></tr><tr><td class="descr" colspan="4">Turn the echo server on or off</td></tr>
<tr class="odd"><td><a href="mod_proxy.html#proxy"><Proxy <em>wildcard-url</em>> ...</Proxy></a></td><td /><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Container for directives applied to proxied
processes launched by Apache children</td></tr>
<tr class="odd"><td><a href="core.html#satisfy" id="S" name="S">Satisfy any|all</a></td><td> all </td><td>dh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Interaction between host-level access control and
user authentication</td></tr>
-<tr><td><a href="mpm_common.html#scoreboardfile">ScoreBoardFile <em>file-path</em></a></td><td> logs/apache_status </td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Location of the file used to store coordination data for
+<tr><td><a href="mpm_common.html#scoreboardfile">ScoreBoardFile <var>file-path</var></a></td><td> logs/apache_status </td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Location of the file used to store coordination data for
the child processes</td></tr>
<tr class="odd"><td><a href="mod_actions.html#script"> Script <em>method cgi-script</em></a></td><td /><td>svd</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Activates a CGI script for a particular request
method.</td></tr>
in the scriptlog</td></tr>
<tr class="odd"><td><a href="mod_cgi.html#scriptloglength">ScriptLogLength <em>bytes</em></a></td><td> 10385760 </td><td>sv</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Size limit of the CGI script logfile</td></tr>
<tr><td><a href="mod_cgid.html#scriptsock">ScriptSock <em>file-path</em></a></td><td> logs/cgisock </td><td>sv</td><td>B</td></tr><tr><td class="descr" colspan="4">-</td></tr>
-<tr class="odd"><td><a href="mpm_common.html#sendbuffersize">SendBufferSize <em>bytes</em></a></td><td /><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">TCP buffer size</td></tr>
+<tr class="odd"><td><a href="mpm_common.html#sendbuffersize">SendBufferSize <var>bytes</var></a></td><td /><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">TCP buffer size</td></tr>
<tr><td><a href="core.html#serveradmin">ServerAdmin <var>email-address</var></a></td><td /><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Email address that the server includes in error
messages sent to the client</td></tr>
<tr class="odd"><td><a href="core.html#serveralias">ServerAlias <var>hostname</var> [<var>hostname</var>] ...</a></td><td /><td>v</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Alternate names for a host used when matching requests
to name-virtual hosts</td></tr>
-<tr><td><a href="mpm_common.html#serverlimit">ServerLimit <em>number</em></a></td><td> 256 (prefork), Serv +</td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Upper limit on configurable number of processes</td></tr>
+<tr><td><a href="mpm_common.html#serverlimit">ServerLimit <var>number</var></a></td><td> 256 (prefork), Serv +</td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Upper limit on configurable number of processes</td></tr>
<tr class="odd"><td><a href="core.html#servername">ServerName <var>fully-qualified-domain-name</var>[:<var>port</var>]</a></td><td /><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Hostname and port that the server uses to identify
itself</td></tr>
<tr><td><a href="core.html#serverpath">ServerPath <var>URL-path</var></a></td><td /><td>v</td><td>C</td></tr><tr><td class="descr" colspan="4">Legacy URL pathname for a name-virtual host that
<tr><td><a href="mod_ssl.html#sslverifyclient">SSLVerifyClient <em>level</em></a></td><td> none </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Type of Client Certificate verification</td></tr>
<tr class="odd"><td><a href="mod_ssl.html#sslverifydepth">SSLVerifyDepth <em>number</em></a></td><td> 1 </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Maximum depth of CA Certificates in Client
Certificate verification</td></tr>
-<tr><td><a href="mpm_common.html#startservers">StartServers <em>number</em></a></td><td> 5 </td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Number of child server processes created at startup</td></tr>
-<tr class="odd"><td><a href="mpm_common.html#startthreads">StartThreads <em>number</em></a></td><td /><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Nubmer of threads created on startup</td></tr>
+<tr><td><a href="mpm_common.html#startservers">StartServers <var>number</var></a></td><td> 5 </td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Number of child server processes created at startup</td></tr>
+<tr class="odd"><td><a href="mpm_common.html#startthreads">StartThreads <var>number</var></a></td><td /><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Nubmer of threads created on startup</td></tr>
<tr><td><a href="mod_suexec.html#suexecusergroup">SuexecUserGroup <em>User Group</em></a></td><td /><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">User and group permissions for CGI programs</td></tr>
-<tr class="odd"><td><a href="mpm_common.html#threadlimit" id="T" name="T">ThreadLimit <em>number</em></a></td><td /><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Sets the upper limit on the configurable number of threads
+<tr class="odd"><td><a href="mpm_common.html#threadlimit" id="T" name="T">ThreadLimit <var>number</var></a></td><td /><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Sets the upper limit on the configurable number of threads
per child process</td></tr>
-<tr><td><a href="mpm_common.html#threadsperchild">ThreadsPerChild <em>number</em></a></td><td /><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Number of threads created by each child process</td></tr>
-<tr class="odd"><td><a href="mpm_netware.html#threadstacksize">ThreadStackSize <em>number</em></a></td><td> 65536 </td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">-</td></tr>
+<tr><td><a href="mpm_common.html#threadsperchild">ThreadsPerChild <var>number</var></a></td><td /><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Number of threads created by each child process</td></tr>
+<tr class="odd"><td><a href="mpm_netware.html#threadstacksize">ThreadStackSize <var>number</var></a></td><td> 65536 </td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">-</td></tr>
<tr><td><a href="core.html#timeout">TimeOut <var>number</var></a></td><td> 300 </td><td>s</td><td>C</td></tr><tr><td class="descr" colspan="4">Amount of time the server will wait for
certain events before failing a request</td></tr>
<tr class="odd"><td><a href="mod_log_config.html#transferlog">TransferLog <em>file</em>|<em>pipe</em></a></td><td /><td>sv</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Specifly location of a log file</td></tr>
<tr class="odd"><td><a href="mod_env.html#unsetenv" id="U" name="U">UnsetEnv <em>env-variable</em> [<em>env-variable</em>] ...</a></td><td /><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Removes variables from the environment</td></tr>
<tr><td><a href="core.html#usecanonicalname">UseCanonicalName on|off|dns</a></td><td> on </td><td>svd</td><td>C</td></tr><tr><td class="descr" colspan="4">Configures how the server determines its own name and
port</td></tr>
-<tr class="odd"><td><a href="mpm_common.html#user">User <em>unix-userid</em></a></td><td> #-1 </td><td>sv</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">The userid under which the server will answer
+<tr class="odd"><td><a href="mpm_common.html#user">User <var>unix-userid</var></a></td><td> #-1 </td><td>sv</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">The userid under which the server will answer
requests</td></tr>
<tr><td><a href="mod_userdir.html#userdir">UserDir <em>directory-filename</em></a></td><td> public_html </td><td>sv</td><td>B</td></tr><tr><td class="descr" colspan="4">Location of the user-specific directories</td></tr>
<tr class="odd"><td><a href="mod_vhost_alias.html#virtualdocumentroot" id="V" name="V">VirtualDocumentRoot <em>interpolated-directory</em>|none</a></td><td> none </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Dynamically configure the location of the document root
<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#threadlimit">ThreadLimit</a></li>
<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#threadsperchild">ThreadsPerChild</a></li>
<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#user">User</a></li>
-</ul><h3>Topics</h3><ul id="topics"><li><img alt="" src="../images/down.gif" /> How it Works</li></ul><h3>See also</h3><ul class="seealso"><li><a href="../bind.html">Setting which addresses and
- ports Apache uses</a></li></ul></div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div><div class="section"><h2>How it Works</h2>
+</ul><h3>Topics</h3><ul id="topics"><li><img alt="" src="../images/down.gif" /> <a href="#how-it-works">How it Works</a></li></ul><h3>See also</h3><ul class="seealso"><li><a href="../bind.html">Setting which addresses and
+ ports Apache uses</a></li></ul></div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div><div class="section"><h2><a name="how-it-works" id="how-it-works">How it Works</a></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>
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
+ <p>Apache always tries to maintain a pool of <dfn>spare</dfn> 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
<p>A typical configuration of the process-thread controls in
the <code class="module"><a href="../mod/worker.html">worker</a></code> MPM could look as follows:</p>
-<div class="example"><pre>StartServers 2
-MaxClients 150
-MinSpareThreads 25
-MaxSpareThreads 75
-ThreadsPerChild 25
-ServerLimit 16</pre></div>
+ <div class="example"><p><code>
+ StartServers 2<br />
+ MaxClients 150<br />
+ MinSpareThreads 25<br />
+ MaxSpareThreads 75<br />
+ ThreadsPerChild 25<br />
+ ServerLimit 16
+ </code></p></div>
<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
<seealso><a href="../bind.html">Setting which addresses and
ports Apache uses</a></seealso>
-<section><title>How it Works</title>
+<section id="how-it-works"><title>How it Works</title>
<p>Each process has a fixed
number of threads. The server adjusts to handle load by
increasing or decreasing the number of processes.</p>
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
+ <p>Apache always tries to maintain a pool of <dfn>spare</dfn> 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
<p>A typical configuration of the process-thread controls in
the <module>worker</module> MPM could look as follows:</p>
-<example><pre>StartServers 2
-MaxClients 150
-MinSpareThreads 25
-MaxSpareThreads 75
-ThreadsPerChild 25
-ServerLimit 16</pre></example>
+ <example>
+ StartServers 2<br />
+ MaxClients 150<br />
+ MinSpareThreads 25<br />
+ MaxSpareThreads 75<br />
+ ThreadsPerChild 25<br />
+ ServerLimit 16
+ </example>
<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