summaryrefslogtreecommitdiffstats
path: root/docs/manual/mod/mpm_common.html
diff options
context:
space:
mode:
authorRich Bowen <rbowen@apache.org>2001-09-22 21:39:26 +0200
committerRich Bowen <rbowen@apache.org>2001-09-22 21:39:26 +0200
commitf88b50dec40878abeccce0e1b9cfc6780a4b1465 (patch)
tree84e6a7b926e102d9f322b96351f2346be29c2db5 /docs/manual/mod/mpm_common.html
parentw3c tidy to convert to xhtml. Please verify that foreign language files (diff)
downloadapache2-f88b50dec40878abeccce0e1b9cfc6780a4b1465.tar.xz
apache2-f88b50dec40878abeccce0e1b9cfc6780a4b1465.zip
w3c tidy to convert to xhtml
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@91116 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'docs/manual/mod/mpm_common.html')
-rw-r--r--docs/manual/mod/mpm_common.html1459
1 files changed, 692 insertions, 767 deletions
diff --git a/docs/manual/mod/mpm_common.html b/docs/manual/mod/mpm_common.html
index 39c629e7fa..bc414cee85 100644
--- a/docs/manual/mod/mpm_common.html
+++ b/docs/manual/mod/mpm_common.html
@@ -1,771 +1,696 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-<HTML>
-<HEAD>
-<TITLE>Apache MPM Common Directives</TITLE>
-</HEAD>
-
-<!-- Background white, links blue (unvisited), navy (visited), red (active) -->
-<BODY
- BGCOLOR="#FFFFFF"
- TEXT="#000000"
- LINK="#0000FF"
- VLINK="#000080"
- ALINK="#FF0000"
->
-<!--#include virtual="header.html" -->
-
-<H1 ALIGN="CENTER">Multi-Processing Module Common Directives</H1>
-
-<P>This file documents directives that are implemented by more
-than one multi-processing module (MPM).
-</P>
-
-<H2>Directives</H2>
-<UL>
-<li><a href="#connectionstatus">ConnectionStatus</a></li>
-<li><a href="#coredumpdirectory">CoreDumpDirectory</a></li>
-<li><a href="#group">Group</a></li>
-<li><a href="#pidfile">PidFile</a></li>
-<li><a href="#listen">Listen</a></li>
-<li><a href="#listenbacklog">ListenBacklog</a></li>
-<li><a href="#lockfile">LockFile</a></li>
-<li><a href="#maxclients">MaxClients</a></li>
-<li><a href="#maxrequestsperchild">MaxRequestsPerChild</a></li>
-<li><a href="#maxsparethreads">MaxSpareThreads</a></li>
-<li><a href="#maxthreadsperchild">MaxThreadsPerChild</a></li>
-<li><a href="#minsparethreads">MinSpareThreads</a></li>
-<li><a href="#numservers">NumServers</a></li>
-<li><a href="#scoreboardfile">ScoreBoardFile</a></li>
-<li><a href="#sendbuffersize">SendBufferSize</a></li>
-<li><a href="#startservers">StartServers</a></li>
-<li><a href="#startthreads">StartThreads</a></li>
-<li><a href="#threadsperchild">ThreadsPerChild</a></li>
-<li><a href="#user">User</a></li>
-</UL>
-<HR>
-
-<H2><A NAME="connectionstatus">ConnectionStatus directive</A></H2>
-<p><A
- HREF="directive-dict.html#Syntax"
- REL="Help"
-><STRONG>Syntax:</STRONG></A>
- ConnectionStatus on|off<BR>
-<A
- HREF="directive-dict.html#Default"
- REL="Help"
-><STRONG>Default:</STRONG></A>
- <CODE>ConnectionStatus on</CODE><BR>
-<A
- HREF="directive-dict.html#Context"
- REL="Help"
-><STRONG>Context:</STRONG></A> server config<BR>
-<A
- HREF="directive-dict.html#Status"
- REL="Help"
-><STRONG>Status:</STRONG></A> MPM<BR>
-<A
- HREF="directive-dict.html#Module"
- REL="Help"
-><STRONG>Module:</STRONG></A> perchild</p>
-
-<p>Whether or not to maintain status information on current
-connections. If this is off then mod_status will not work properly.</p>
-
-<hr>
-
-<H2><A NAME="coredumpdirectory">CoreDumpDirectory directive</A></H2>
-<!--%plaintext &lt;?INDEX {\tt CoreDumpDirectory} directive&gt; -->
-<p><A
- HREF="directive-dict.html#Syntax"
- REL="Help"
-><STRONG>Syntax:</STRONG></A> CoreDumpDirectory <EM>directory</EM><BR>
-<A
- HREF="directive-dict.html#Default"
- REL="Help"
-><STRONG>Default:</STRONG></A> the same location as ServerRoot<BR>
-<A
- HREF="directive-dict.html#Context"
- REL="Help"
-><STRONG>Context:</STRONG></A> server config<BR>
-<A
- HREF="directive-dict.html#Status"
- REL="Help"
-><STRONG>Status:</STRONG></A> MPM<BR>
-<A
- HREF="directive-dict.html#Module"
- REL="Help"
-><STRONG>Module:</STRONG></A> threaded, perchild, prefork, mpm_winnt</p>
-
-<p>This controls the directory to which Apache attempts to switch
-before dumping core. The default is in the <A
-HREF="core.html#serverroot">ServerRoot</A> directory, however since
-this should not be writable by the user the server runs as, core dumps
-won't normally get written. If you want a core dump for debugging,
-you can use this directive to place it in a different location.<P><HR>
-
-
-<H2><A NAME="group">Group directive</A></H2>
-<!--%plaintext &lt;?INDEX {\tt Group} directive&gt; -->
-<p><A
- HREF="directive-dict.html#Syntax"
- REL="Help"
-><STRONG>Syntax:</STRONG></A> Group <EM>unix-group</EM><BR>
-<A
- HREF="directive-dict.html#Default"
- REL="Help"
-><STRONG>Default:</STRONG></A> <CODE>Group #-1</CODE><BR>
-<A
- HREF="directive-dict.html#Context"
- REL="Help"
-><STRONG>Context:</STRONG></A> server config, virtual host<BR>
-<A
- HREF="directive-dict.html#Status"
- REL="Help"
-><STRONG>Status:</STRONG></A> MPM<BR>
-<A
- HREF="directive-dict.html#Module"
- REL="Help"
-><STRONG>Module:</STRONG></A> threaded, perchild, prefork</p>
-
-The Group 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:
-<DL>
-<DT>A group name
-<DD>Refers to the given group by name.
-<DT># followed by a group number.
-<DD>Refers to a group by its number.
-</DL>
-
-It is recommended that you set up a new group specifically for running the
-server. Some admins use user <CODE>nobody</CODE>, but this is not always
-possible or desirable.<P>
-
-Note: if you start the server as a non-root user, it will fail to change
-to the specified group, and will instead continue to run as the group of the
-original user. <P>
-
-Special note: Use of this directive in &lt;VirtualHost&lt; is no longer
-supported. To implement the <A HREF="../suexec.html">suEXEC wrapper</A>
-with Apache 2.0, use the <A HREF=mod_suexec.html#suexecusergroup>
-SuexecUserGroup</A> directive.
-
-SECURITY: See <A HREF="#user">User</A> for a discussion of the security
-considerations.<P><HR>
-
-<H2><A NAME="pidfile">PidFile directive</A></H2>
-<!--%plaintext &lt;?INDEX {\tt PidFile} directive&gt; -->
-<p><A
- HREF="directive-dict.html#Syntax"
- REL="Help"
-><STRONG>Syntax:</STRONG></A> PidFile <EM>filename</EM><BR>
-<A
- HREF="directive-dict.html#Default"
- REL="Help"
-><STRONG>Default:</STRONG></A> <CODE>PidFile logs/httpd.pid</CODE><BR>
-<A
- HREF="directive-dict.html#Context"
- REL="Help"
-><STRONG>Context:</STRONG></A> server config<BR>
-<A
- HREF="directive-dict.html#Status"
- REL="Help"
-><STRONG>Status:</STRONG></A> MPM<BR>
-<A
- HREF="directive-dict.html#Module"
- REL="Help"
-><STRONG>Module:</STRONG></A> threaded, perchild, prefork, mpm_winnt</p>
-
-<p>The PidFile directive sets the file to which the server records the
-process id of the daemon. If the filename does not begin with a slash
-(/) then it is assumed to be relative to the <A
-HREF="core.html#serverroot">ServerRoot</A>.</p>
-
-<p>It is often useful to be able to send the server a signal, so that
-it closes and then reopens its <A
-HREF="core.html#errorlog">ErrorLog</A> and TransferLog, and re-reads
-its configuration files. This is done by sending a SIGHUP (kill -1)
-signal to the process id listed in the PidFile.</p>
-
-<p>The PidFile is subject to the same warnings about log file placement and
-<A HREF="../misc/security_tips.html#serverroot">security</A>.</p>
-
-<p><hr>
-
-<H2><A NAME="listen">Listen directive</A></H2>
-<p><A
- HREF="directive-dict.html#Syntax"
- REL="Help"
-><STRONG>Syntax:</STRONG></A>
-Listen [<EM>IP-address</EM>:]<EM>port number</EM><BR>
-<A
- HREF="directive-dict.html#Context"
- REL="Help"
-><STRONG>Context:</STRONG></A> server config<BR>
-<A
- HREF="directive-dict.html#Status"
- REL="Help"
-><STRONG>Status:</STRONG></A> MPM<BR>
-<A
- HREF="directive-dict.html#Module"
- REL="Help"
-><STRONG>Module:</STRONG></A> threaded, perchild, prefork, mpm_winnt</p>
-
-
-<P>The Listen directive instructs Apache to listen to only specific IP
-addresses or ports; by default it responds to requests on all IP
-interfaces, but only on the port given by the <CODE><A
-HREF="core.html#port">Port</A></CODE> directive.</P>
-
-<p>The Listen directive tells
-the server to accept incoming requests on the specified port or
-address-and-port combination. If only a port number is specified,
-the server listens to the given port on all interfaces,
-instead of the port given by the <TT>Port</TT> directive. If an IP
-address is given as well as a port, the server will listen on the
-given port and interface. <P>
-
-Note that you may still require a <TT>Port</TT> directive so
-that URLs that Apache generates that point to your server still
-work.<P>
-
-Multiple Listen directives may be used
-to specify a number of addresses and ports to listen to. The server
-will respond to requests from any of the listed addresses and
-ports.
-<P>
-
-For example, to make the server accept connections on both port
-80 and port 8000, use:
-<PRE>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+ <title>Apache MPM Common Directives</title>
+ </head>
+ <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+ <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+ vlink="#000080" alink="#FF0000">
+ <!--#include virtual="header.html" -->
+
+ <h1 align="CENTER">Multi-Processing Module Common
+ Directives</h1>
+
+ <p>This file documents directives that are implemented by more
+ than one multi-processing module (MPM).</p>
+
+ <h2>Directives</h2>
+
+ <ul>
+ <li><a href="#connectionstatus">ConnectionStatus</a></li>
+
+ <li><a href="#coredumpdirectory">CoreDumpDirectory</a></li>
+
+ <li><a href="#group">Group</a></li>
+
+ <li><a href="#pidfile">PidFile</a></li>
+
+ <li><a href="#listen">Listen</a></li>
+
+ <li><a href="#listenbacklog">ListenBacklog</a></li>
+
+ <li><a href="#lockfile">LockFile</a></li>
+
+ <li><a href="#maxclients">MaxClients</a></li>
+
+ <li><a
+ href="#maxrequestsperchild">MaxRequestsPerChild</a></li>
+
+ <li><a href="#maxsparethreads">MaxSpareThreads</a></li>
+
+ <li><a href="#maxthreadsperchild">MaxThreadsPerChild</a></li>
+
+ <li><a href="#minsparethreads">MinSpareThreads</a></li>
+
+ <li><a href="#numservers">NumServers</a></li>
+
+ <li><a href="#scoreboardfile">ScoreBoardFile</a></li>
+
+ <li><a href="#sendbuffersize">SendBufferSize</a></li>
+
+ <li><a href="#startservers">StartServers</a></li>
+
+ <li><a href="#startthreads">StartThreads</a></li>
+
+ <li><a href="#threadsperchild">ThreadsPerChild</a></li>
+
+ <li><a href="#user">User</a></li>
+ </ul>
+ <hr />
+
+ <h2><a id="connectionstatus"
+ name="connectionstatus">ConnectionStatus directive</a></h2>
+
+ <p><a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> ConnectionStatus
+ on|off<br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>Default:</strong></a> <code>ConnectionStatus
+ on</code><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> MPM<br />
+ <a href="directive-dict.html#Module"
+ rel="Help"><strong>Module:</strong></a> perchild</p>
+
+ <p>Whether or not to maintain status information on current
+ connections. If this is off then mod_status will not work
+ properly.</p>
+ <hr />
+
+ <h2><a id="coredumpdirectory"
+ name="coredumpdirectory">CoreDumpDirectory directive</a></h2>
+ <!--%plaintext &lt;?INDEX {\tt CoreDumpDirectory} directive&gt; -->
+
+ <p><a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> CoreDumpDirectory
+ <em>directory</em><br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>Default:</strong></a> the same location as
+ ServerRoot<br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> MPM<br />
+ <a href="directive-dict.html#Module"
+ rel="Help"><strong>Module:</strong></a> threaded, perchild,
+ prefork, mpm_winnt</p>
+
+ <p>This controls the directory to which Apache attempts to
+ switch before dumping core. The default is in the <a
+ href="core.html#serverroot">ServerRoot</a> directory, however
+ since this should not be writable by the user the server runs
+ as, core dumps won't normally get written. If you want a core
+ dump for debugging, you can use this directive to place it in a
+ different location.</p>
+ <hr />
+
+ <h2><a id="group" name="group">Group directive</a></h2>
+ <!--%plaintext &lt;?INDEX {\tt Group} directive&gt; -->
+
+ <p><a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> Group
+ <em>unix-group</em><br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>Default:</strong></a> <code>Group
+ #-1</code><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config, virtual
+ host<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> MPM<br />
+ <a href="directive-dict.html#Module"
+ rel="Help"><strong>Module:</strong></a> threaded, perchild,
+ prefork</p>
+ The Group 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:
+
+ <dl>
+ <dt>A group name</dt>
+
+ <dd>Refers to the given group by name.</dd>
+
+ <dt># followed by a group number.</dt>
+
+ <dd>Refers to a group by its number.</dd>
+ </dl>
+ It is recommended that you set up a new group specifically for
+ running the server. Some admins use user <code>nobody</code>,
+ but this is not always possible or desirable.
+
+ <p>Note: if you start the server as a non-root user, it will
+ fail to change to the specified group, and will instead
+ continue to run as the group of the original user.</p>
+
+ <p>Special note: Use of this directive in &lt;VirtualHost&lt;
+ is no longer supported. To implement the <a
+ href="../suexec.html">suEXEC wrapper</a> with Apache 2.0, use
+ the <a
+ href="mod_suexec.html#suexecusergroup">SuexecUserGroup</a>
+ directive. SECURITY: See <a href="#user">User</a> for a
+ discussion of the security considerations.</p>
+ <hr />
+
+ <h2><a id="pidfile" name="pidfile">PidFile directive</a></h2>
+ <!--%plaintext &lt;?INDEX {\tt PidFile} directive&gt; -->
+
+ <p><a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> PidFile
+ <em>filename</em><br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>Default:</strong></a> <code>PidFile
+ logs/httpd.pid</code><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> MPM<br />
+ <a href="directive-dict.html#Module"
+ rel="Help"><strong>Module:</strong></a> threaded, perchild,
+ prefork, mpm_winnt</p>
+
+ <p>The PidFile directive sets the file to which the server
+ records the process id of the daemon. If the filename does not
+ begin with a slash (/) then it is assumed to be relative to the
+ <a href="core.html#serverroot">ServerRoot</a>.</p>
+
+ <p>It is often useful to be able to send the server a signal,
+ so that it closes and then reopens its <a
+ href="core.html#errorlog">ErrorLog</a> and TransferLog, and
+ re-reads its configuration files. This is done by sending a
+ SIGHUP (kill -1) signal to the process id listed in the
+ PidFile.</p>
+
+ <p>The PidFile is subject to the same warnings about log file
+ placement and <a
+ href="../misc/security_tips.html#serverroot">security</a>.</p>
+ <hr />
+
+ <h2><a id="listen" name="listen">Listen directive</a></h2>
+
+ <p><a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> Listen
+ [<em>IP-address</em>:]<em>port number</em><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> MPM<br />
+ <a href="directive-dict.html#Module"
+ rel="Help"><strong>Module:</strong></a> threaded, perchild,
+ prefork, mpm_winnt</p>
+
+ <p>The Listen directive instructs Apache to listen to only
+ specific IP addresses or ports; by default it responds to
+ requests on all IP interfaces, but only on the port given by
+ the <code><a href="core.html#port">Port</a></code>
+ directive.</p>
+
+ <p>The Listen directive tells the server to accept incoming
+ requests on the specified port or address-and-port combination.
+ If only a port number is specified, the server listens to the
+ given port on all interfaces, instead of the port given by the
+ <tt>Port</tt> directive. If an IP address is given as well as a
+ port, the server will listen on the given port and
+ interface.</p>
+
+ <p>Note that you may still require a <tt>Port</tt> directive so
+ that URLs that Apache generates that point to your server still
+ work.</p>
+
+ <p>Multiple Listen directives may be used to specify a number
+ of addresses and ports to listen to. The server will respond to
+ requests from any of the listed addresses and ports.</p>
+
+ <p>For example, to make the server accept connections on both
+ port 80 and port 8000, use:</p>
+<pre>
Listen 80
Listen 8000
-</PRE>
-
-To make the server accept connections on two specified
-interfaces and port numbers, use
-<PRE>
+</pre>
+ To make the server accept connections on two specified
+ interfaces and port numbers, use
+<pre>
Listen 192.170.2.1:80
Listen 192.170.2.5:8000
-</PRE>
-
-<P><STRONG>See Also:</STRONG>
-<A HREF="../dns-caveats.html">DNS Issues</A><BR>
-<STRONG>See Also:</STRONG>
-<A HREF="../bind.html">Setting which addresses and ports Apache uses</A><BR>
-<STRONG>See Also:</STRONG>
-<A HREF="http://www.apache.org/info/known_bugs.html#listenbug">Known Bugs</A>
-</P>
-<HR>
-
-<H2><A NAME="listenbacklog">ListenBacklog directive</A></H2>
-<p><A
- HREF="directive-dict.html#Syntax"
- REL="Help"
-><STRONG>Syntax:</STRONG></A> ListenBacklog <EM>backlog</EM><BR>
-<A
- HREF="directive-dict.html#Default"
- REL="Help"
-><STRONG>Default:</STRONG></A> <CODE>ListenBacklog 511</CODE><BR>
-<A
- HREF="directive-dict.html#Context"
- REL="Help"
-><STRONG>Context:</STRONG></A> server config<BR>
-<A
- HREF="directive-dict.html#Status"
- REL="Help"
-><STRONG>Status:</STRONG></A> MPM<BR>
-<A
- HREF="directive-dict.html#Module"
- REL="Help"
-><STRONG>Module:</STRONG></A> threaded, perchild, prefork, mpm_winnt</p>
-
-<P>The maximum length of the queue of pending connections. Generally no
-tuning is needed or desired, however on some systems it is desirable
-to increase this when under a TCP SYN flood attack. See
-the backlog parameter to the <CODE>listen(2)</CODE> system call.
-
-<P>This will often be limited to a smaller number by the operating
-system. This varies from OS to OS. Also note that many OSes do not
-use exactly what is specified as the backlog, but use a number based on
-(but normally larger than) what is set.
-<HR>
-
-<H2><A NAME="lockfile">LockFile directive</A></H2>
-<p><A
- HREF="directive-dict.html#Syntax"
- REL="Help"
-><STRONG>Syntax:</STRONG></A> LockFile <EM>filename</EM><BR>
-<A
- HREF="directive-dict.html#Default"
- REL="Help"
-><STRONG>Default:</STRONG></A> <CODE>LockFile logs/accept.lock</CODE><BR>
-<A
- HREF="directive-dict.html#Context"
- REL="Help"
-><STRONG>Context:</STRONG></A> server config<BR>
-<A
- HREF="directive-dict.html#Status"
- REL="Help"
-><STRONG>Status:</STRONG></A> MPM<BR>
-<A
- HREF="directive-dict.html#Module"
- REL="Help"
-><STRONG>Module:</STRONG></A> threaded, perchild, prefork</p>
-
-<p>The LockFile directive sets the path to the lockfile used when
-Apache is compiled with either USE_FCNTL_SERIALIZED_ACCEPT or
-USE_FLOCK_SERIALIZED_ACCEPT. This directive should normally be
-left at its default value. The main reason for changing it is if
-the <CODE>logs</CODE> directory is NFS mounted, since <STRONG>the lockfile
-must be stored on a local 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 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>
-
-<hr>
-
-<H2><A NAME="maxclients">MaxClients directive</A></H2>
-<!--%plaintext &lt;?INDEX {\tt MaxClients} directive&gt; -->
-<p><A
- HREF="directive-dict.html#Syntax"
- REL="Help"
-><STRONG>Syntax:</STRONG></A> MaxClients <EM>number</EM><BR>
-<A
- HREF="directive-dict.html#Default"
- REL="Help"
-><STRONG>Default:</STRONG></A> <CODE>MaxClients 8</code> (with threads)
-<code>MaxClients 256</code> (no threads)<BR>
-<A
- HREF="directive-dict.html#Context"
- REL="Help"
-><STRONG>Context:</STRONG></A> server config<BR>
-<A
- HREF="directive-dict.html#Status"
- REL="Help"
-><STRONG>Status:</STRONG></A> MPM<BR>
-<A
- HREF="directive-dict.html#Module"
- REL="Help"
-><STRONG>Module:</STRONG></A> threaded, prefork</p>
-
-<P>The MaxClients directive sets the limit on the number of child
-processes that will be created to serve requests. When the server is
-built without threading, no more than this number of clients can be
-served simultaneously. To configure more than 256 clients, you must
-edit the <code>HARD_SERVER_LIMIT</code> entry in
-<code>mpm_default.h</code> and recompile.
-
-<P>Any connection attempts over the MaxClients limit will normally
-be queued, up to a number based on the <A HREF="#listenbacklog">
-ListenBacklog</A> directive. Once a child process is freed at the
-end of a different request, the connection will then be serviced.</p>
-
-<p>When the server is compiled with threading, then the maximum number
-of simultaneous requests that can be served is obtained from the value
-of this directive multiplied by <a
-href="#threadsperchild">ThreadsPerChild</a>.</p>
-
-<HR>
-
-<H2><A NAME="maxrequestsperchild">MaxRequestsPerChild directive</A></H2>
-<!--%plaintext &lt;?INDEX {\tt MaxRequestsPerChild} directive&gt; -->
-<p><A
- HREF="directive-dict.html#Syntax"
- REL="Help"
-><STRONG>Syntax:</STRONG></A> MaxRequestsPerChild <EM>number</EM><BR>
-<A
- HREF="directive-dict.html#Default"
- REL="Help"
-><STRONG>Default:</STRONG></A> <CODE>MaxRequestsPerChild 10000</CODE><BR>
-<A
- HREF="directive-dict.html#Context"
- REL="Help"
-><STRONG>Context:</STRONG></A> server config<BR>
-<A
- HREF="directive-dict.html#Status"
- REL="Help"
-><STRONG>Status:</STRONG></A> MPM<BR>
-<A
- HREF="directive-dict.html#Module"
- REL="Help"
-><STRONG>Module:</STRONG></A> threaded, prefork, perchild, mpm_winnt</p>
-
-<p>The MaxRequestsPerChild directive sets the limit on the number of requests
-that an individual child server process will handle. After MaxRequestsPerChild
-requests, the child process will die. If MaxRequestsPerChild is 0, then
-the process will never expire.<P>
-
-Setting MaxRequestsPerChild to a non-zero limit has two beneficial effects:
-<UL>
-<LI>it limits the amount of memory that process can consume by (accidental)
-memory leakage;
-<LI> by giving processes a finite lifetime, it helps reduce the
-number of processes when the server load reduces.
-</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><HR>
-
-
-<H2><A NAME="maxsparethreads">MaxSpareThreads directive</A></H2>
-<p><A
- HREF="directive-dict.html#Syntax"
- REL="Help"
-><STRONG>Syntax:</STRONG></A> MaxSpareThreads <EM>number</EM><BR>
-<A
- HREF="directive-dict.html#Default"
- REL="Help"
-><STRONG>Default:</STRONG></A> <CODE>MaxSpareThreads 10 (Perchild) or 500 (threaded) </CODE><BR>
-<A
- HREF="directive-dict.html#Context"
- REL="Help"
-><STRONG>Context:</STRONG></A> server config<BR>
-<A
- HREF="directive-dict.html#Status"
- REL="Help"
-><STRONG>Status:</STRONG></A> core<BR>
-<A
- HREF="directive-dict.html#Module"
- REL="Help"
-><STRONG>Module:</STRONG></A> threaded, perchild</p>
-
-<P>Maximum number of idle threads. Different MPMs deal with this directive
-differently. Perchild monitor the number of idle threads on a
-per-child basis. If there are too many idle threads in that child, the server
-will begin to kill threads within that child.</P>
-<P>threaded deals with idle threads on a server-wide basis. If there are
-too many idle threads in the server then child processes are killed
-until the number of idle threads is less than this number.</p>
-
-<p>See also <A HREF="#minsparethreads">MinSpareThreads</A> and
-<A HREF="#startservers">StartServers</A>.
-
-<P><HR>
-
-<H2><A NAME="maxthreadsperchild">MaxThreadsPerChild directive</A></H2>
-<p><A
- HREF="directive-dict.html#Syntax"
- REL="Help"
-><STRONG>Syntax:</STRONG></A> MaxThreadsPerChild <EM>number</EM><BR>
-<A
- HREF="directive-dict.html#Default"
- REL="Help"
-><STRONG>Default:</STRONG></A> <CODE>MaxThreadsPerChild 64</code>
-<A
- HREF="directive-dict.html#Context"
- REL="Help"
-><STRONG>Context:</STRONG></A> server config<BR>
-<A
- HREF="directive-dict.html#Status"
- REL="Help"
-><STRONG>Status:</STRONG></A> core<BR>
-<A
- HREF="directive-dict.html#Module"
- REL="Help"
-><STRONG>Module:</STRONG></A> threaded, perchild</p>
-
-<P>Maximum number of threads per child. For MPMs with a variable
-number of threads per child, this directive sets the maximum number of
-threads that will be created in each child process. To increase this
-value beyond its default, it is necessary to change the value of
-the compile-time define <code>HARD_THREAD_LIMIT</code> and recompile
-the server.</p>
-
-<P><HR>
-
-<H2><A NAME="minsparethreads">MinSpareThreads directive</A></H2>
-<!--%plaintext &lt;?INDEX {\tt MinSpareServers} directive&gt; -->
-<p><A
- HREF="directive-dict.html#Syntax"
- REL="Help"
-><STRONG>Syntax:</STRONG></A> MinSpareServers <EM>number</EM><BR>
-<A
- HREF="directive-dict.html#Default"
- REL="Help"
-><STRONG>Default:</STRONG></A> <CODE>MaxSpareThreads 5 (Perchild) or 250 (threaded) </CODE><BR>
-<A
- HREF="directive-dict.html#Context"
- REL="Help"
-><STRONG>Context:</STRONG></A> server config<BR>
-<A
- HREF="directive-dict.html#Status"
- REL="Help"
-><STRONG>Status:</STRONG></A> core<BR>
-<A
- HREF="directive-dict.html#Module"
- REL="Help"
-><STRONG>Module:</STRONG></A> threaded, perchild</p>
-
-<P>Minimum number of idle threads to handle request spikes. Different MPMs
-deal with this directive differently. Perchild monitor the number
-of idle threads on a per-child basis. If there aren't enough idle threads in
-that child, the server will begin to create new threads within that child.
-</P>
-<P>threaded deals with idle threads on a server-wide basis. If there
-aren't enough idle threads in the server then child processes are created
-until the number of idle threads is greater than number.</p>
-
-See also <A HREF="#maxsparethreads">MaxSpareThreads</A> and
-<A HREF="#startservers">StartServers</A>.<P><HR>
-
-
-<H2><A NAME="numservers">NumServers directive</A></H2>
-<p><A
- HREF="directive-dict.html#Syntax"
- REL="Help"
-><STRONG>Syntax:</STRONG></A> NumServers <EM>number</EM><BR>
-<A
- HREF="directive-dict.html#Default"
- REL="Help"
-><STRONG>Default:</STRONG></A> <CODE>NumServers 2</CODE><BR>
-<A
- HREF="directive-dict.html#Context"
- REL="Help"
-><STRONG>Context:</STRONG></A> server config<BR>
-<A
- HREF="directive-dict.html#Status"
- REL="Help"
-><STRONG>Status:</STRONG></A> MPM<BR>
-<A
- HREF="directive-dict.html#Module"
- REL="Help"
-><STRONG>Module:</STRONG></A> perchild</p>
-
-<p>Number of children alive at the same time. MPMs that use this directive
-do not dynamically create new child processes so this number should be
-large enough to handle the requests for the entire site.</p>
-
-<hr>
-
-<H2><A NAME="scoreboardfile">ScoreBoardFile directive</A></H2>
-<!--%plaintext &lt;?INDEX {\tt ScoreBoardFile} directive&gt; -->
-<p><A
- HREF="directive-dict.html#Syntax"
- REL="Help"
-><STRONG>Syntax:</STRONG></A> ScoreBoardFile <EM>filename</EM><BR>
-<A
- HREF="directive-dict.html#Default"
- REL="Help"
-><STRONG>Default:</STRONG></A> <CODE>ScoreBoardFile logs/apache_status</CODE>
-<BR>
-<A
- HREF="directive-dict.html#Context"
- REL="Help"
-><STRONG>Context:</STRONG></A> server config<BR>
-<A
- HREF="directive-dict.html#Status"
- REL="Help"
-><STRONG>Status:</STRONG></A> MPM<BR>
-<A
- HREF="directive-dict.html#Compatibility"
- REL="Help"
-></a>
-<A
- HREF="directive-dict.html#Module"
- REL="Help"
-><STRONG>Module:</STRONG></A> threaded, perchild, prefork</p>
-
-<p>The ScoreBoardFile directive is required on some architectures to place
-a file that the server will use to communicate between its children and
-the parent. The easiest way to find out if your architecture requires
-a scoreboard file is to run Apache and see if it creates the file named
-by the directive. If your architecture requires it then you must ensure
-that this file is not used at the same time by more than one invocation
-of Apache.</p>
-
-<p>If you have to use a ScoreBoardFile then you may see improved speed by
-placing it on a RAM disk. But be careful that you heed the same warnings
-about log file placement and
-<A HREF="../misc/security_tips.html">security</A>.</p>
-
-<p><STRONG>See Also</STRONG>:
-<A HREF="../stopping.html">Stopping and Restarting Apache</A></P>
-
-
-<P><HR>
-
-<H2><A NAME="sendbuffersize">SendBufferSize directive</A></H2>
-<!--%plaintext &lt;?INDEX {\tt SendBufferSize} directive&gt; -->
-<p><A
- HREF="directive-dict.html#Syntax"
- REL="Help"
-><STRONG>Syntax:</STRONG></A> SendBufferSize <EM>bytes</EM><BR>
-<A
- HREF="directive-dict.html#Context"
- REL="Help"
-><STRONG>Context:</STRONG></A> server config<BR>
-<A
- HREF="directive-dict.html#Status"
- REL="Help"
-><STRONG>Status:</STRONG></A> MPM<BR>
-<A
- HREF="directive-dict.html#Module"
- REL="Help"
-><STRONG>Module:</STRONG></A> threaded, perchild, prefork, mpm_winnt</p>
-
-The server will set the TCP buffer size to the number of bytes
-specified. Very useful to increase past standard OS defaults on high
-speed high latency (<EM>i.e.</EM>, 100ms or so, such as transcontinental
-fast pipes)
-
-<P><HR>
-
-<H2><A NAME="startservers">StartServers directive</A></H2>
-<!--%plaintext &lt;?INDEX {\tt StartServers} directive&gt; -->
-<p><A
- HREF="directive-dict.html#Syntax"
- REL="Help"
-><STRONG>Syntax:</STRONG></A> StartServers <EM>number</EM><BR>
-<A
- HREF="directive-dict.html#Default"
- REL="Help"
-><STRONG>Default:</STRONG></A> <CODE>StartServers 5</CODE><BR>
-<A
- HREF="directive-dict.html#Context"
- REL="Help"
-><STRONG>Context:</STRONG></A> server config<BR>
-<A
- HREF="directive-dict.html#Status"
- REL="Help"
-><STRONG>Status:</STRONG></A> MPM<BR>
-<A
- HREF="directive-dict.html#Module"
- REL="Help"
-><STRONG>Module:</STRONG></A> threaded, prefork</p>
-
-<p>The StartServers directive sets the number of child server processes created
-on startup. As the number of processes is dynamically controlled depending
-on the load, there is usually little reason to adjust this parameter.</P>
-
-<P>See also <A HREF="#minsparethreads">MinSpareThreads</A> and
-<A HREF="#maxsparethreads">MaxSpareThreads</A>.<P><HR>
-
-
-<H2><A NAME="startthreads">StartThreads directive</A></H2>
-<p><A
- HREF="directive-dict.html#Syntax"
- REL="Help"
-><STRONG>Syntax:</STRONG></A> StartThreads <EM>number</EM><BR>
-<A
- HREF="directive-dict.html#Default"
- REL="Help"
-><STRONG>Default:</STRONG></A> <CODE>StartThreads 5</CODE><BR>
-<A
- HREF="directive-dict.html#Context"
- REL="Help"
-><STRONG>Context:</STRONG></A> server config<BR>
-<A
- HREF="directive-dict.html#Status"
- REL="Help"
-><STRONG>Status:</STRONG></A> MPM<BR>
-<A
- HREF="directive-dict.html#Module"
- REL="Help"
-><STRONG>Module:</STRONG></A> perchild</p>
-
-<p>Number of threads each child creates on startup. As the number of threads
-is dynamically controlled depending on the load, there is usually little
-reason to adjust this parameter.</p>
-
-<hr>
-
-<H2><A NAME="threadsperchild">ThreadsPerChild</A></H2>
-<p><A
- HREF="directive-dict.html#Syntax"
- REL="Help"
-><STRONG>Syntax:</STRONG></A> ThreadsPerChild <EM>number</EM><BR>
-<A
- HREF="directive-dict.html#Default"
- REL="Help"
-><STRONG>Default:</STRONG></A> <CODE>ThreadsPerChild 50</CODE><BR>
-<A
- HREF="directive-dict.html#Context"
- REL="Help"
-><STRONG>Context:</STRONG></A> server config<BR>
-<A
- HREF="directive-dict.html#Status"
- REL="Help"
-><STRONG>Status:</STRONG></A> MPM<BR>
-<A
- HREF="directive-dict.html#Module"
- REL="Help"
-><STRONG>Module:</STRONG></A> threaded, mpm_winnt</p>
-
-<P>This directive sets the number of threads created by each child
-process. The child creates these threads at startup and never creates
-more. if using an MPM like mpmt_winnt, where there is only one child process,
-this number should be high enough to handle the entire load of the server.
-If using an MPM like threaded, where there are multiple child processes,
-the total number of threads should be high enough to handle the common load
-on the server.</p>
-
-<p><hr>
-
-
-<H2><A NAME="user">User directive</A></H2>
-<!--%plaintext &lt;?INDEX {\tt User} directive&gt; -->
-<p><A
- HREF="directive-dict.html#Syntax"
- REL="Help"
-><STRONG>Syntax:</STRONG></A> User <EM>unix-userid</EM><BR>
-<A
- HREF="directive-dict.html#Default"
- REL="Help"
-><STRONG>Default:</STRONG></A> <CODE>User #-1</CODE><BR>
-<A
- HREF="directive-dict.html#Context"
- REL="Help"
-><STRONG>Context:</STRONG></A> server config, virtual host<BR>
-<A
- HREF="directive-dict.html#Status"
- REL="Help"
-><STRONG>Status:</STRONG></A> core<BR>
-<A
- HREF="directive-dict.html#Module"
- REL="Help"
-><STRONG>Module:</STRONG></A> threaded, perchild, prefork</p>
-
-The User 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:
-<DL>
-<DT>A username
-<DD>Refers to the given user by name.
-<DT># followed by a user number.
-<DD>Refers to a user by their number.
-</DL>
-
-The user should have no privileges which result in it being able to access
-files which are not intended to be visible to the outside world, and
-similarly, the user should not be able to execute code which is not
-meant for httpd requests. It is recommended that you set up a new user and
-group specifically for running the server. Some admins use user
-<CODE>nobody</CODE>, but this is not always possible or desirable.
-For example mod_proxy's cache, when enabled, must be accessible to this user
-(see <A HREF="mod_proxy.html">mod_proxy's</A> <CODE>CacheRoot</CODE>
-directive).<P>
-
-Notes: If you start the server as a non-root user, it will fail to change
-to the lesser privileged user, and will instead continue to run as
-that original user. If you do start the server as root, then it is normal
-for the parent process to remain running as root.<P>
-
-Special note: Use of this directive in &lt;VirtualHost&gt; is no longer
-supported. To configure your server for <A HREF="mod_suexec.html">
-suexec</A> use <A HREF="mod_suexec.html#suexecusergroup">SuexecUserGroup</A>.
-
-SECURITY: Don't set User (or <A HREF="#group">Group</A>) to
-<CODE>root</CODE> unless you know exactly what you are doing, and what the
-dangers are.<P>
-
-<!--#include virtual="footer.html" -->
-</BODY>
-</HTML>
+</pre>
+
+ <p><strong>See Also:</strong> <a href="../dns-caveats.html">DNS
+ Issues</a><br />
+ <strong>See Also:</strong> <a href="../bind.html">Setting
+ which addresses and ports Apache uses</a><br />
+ <strong>See Also:</strong> <a
+ href="http://www.apache.org/info/known_bugs.html#listenbug">Known
+ Bugs</a></p>
+ <hr />
+
+ <h2><a id="listenbacklog" name="listenbacklog">ListenBacklog
+ directive</a></h2>
+
+ <p><a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> ListenBacklog
+ <em>backlog</em><br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>Default:</strong></a> <code>ListenBacklog
+ 511</code><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> MPM<br />
+ <a href="directive-dict.html#Module"
+ rel="Help"><strong>Module:</strong></a> threaded, perchild,
+ prefork, mpm_winnt</p>
+
+ <p>The maximum length of the queue of pending connections.
+ Generally no tuning is needed or desired, however on some
+ systems it is desirable to increase this when under a TCP SYN
+ flood attack. See the backlog parameter to the
+ <code>listen(2)</code> system call.</p>
+
+ <p>This will often be limited to a smaller number by the
+ operating system. This varies from OS to OS. Also note that
+ many OSes do not use exactly what is specified as the backlog,
+ but use a number based on (but normally larger than) what is
+ set.</p>
+ <hr />
+
+ <h2><a id="lockfile" name="lockfile">LockFile
+ directive</a></h2>
+
+ <p><a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> LockFile
+ <em>filename</em><br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>Default:</strong></a> <code>LockFile
+ logs/accept.lock</code><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> MPM<br />
+ <a href="directive-dict.html#Module"
+ rel="Help"><strong>Module:</strong></a> threaded, perchild,
+ prefork</p>
+
+ <p>The LockFile directive sets the path to the lockfile used
+ when Apache is compiled with either USE_FCNTL_SERIALIZED_ACCEPT
+ or USE_FLOCK_SERIALIZED_ACCEPT. This directive should normally
+ be left at its default value. The main reason for changing it
+ is if the <code>logs</code> directory is NFS mounted, since
+ <strong>the lockfile must be stored on a local 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
+ 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>
+ <hr />
+
+ <h2><a id="maxclients" name="maxclients">MaxClients
+ directive</a></h2>
+ <!--%plaintext &lt;?INDEX {\tt MaxClients} directive&gt; -->
+
+ <p><a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> MaxClients
+ <em>number</em><br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>Default:</strong></a> <code>MaxClients
+ 8</code> (with threads) <code>MaxClients 256</code> (no
+ threads)<br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> MPM<br />
+ <a href="directive-dict.html#Module"
+ rel="Help"><strong>Module:</strong></a> threaded, prefork</p>
+
+ <p>The MaxClients directive sets the limit on the number of
+ child processes that will be created to serve requests. When
+ the server is built without threading, no more than this number
+ of clients can be served simultaneously. To configure more than
+ 256 clients, you must edit the <code>HARD_SERVER_LIMIT</code>
+ entry in <code>mpm_default.h</code> and recompile.</p>
+
+ <p>Any connection attempts over the MaxClients limit will
+ normally be queued, up to a number based on the <a
+ href="#listenbacklog">ListenBacklog</a> directive. Once a child
+ process is freed at the end of a different request, the
+ connection will then be serviced.</p>
+
+ <p>When the server is compiled with threading, then the maximum
+ number of simultaneous requests that can be served is obtained
+ from the value of this directive multiplied by <a
+ href="#threadsperchild">ThreadsPerChild</a>.</p>
+ <hr />
+
+ <h2><a id="maxrequestsperchild"
+ name="maxrequestsperchild">MaxRequestsPerChild
+ directive</a></h2>
+ <!--%plaintext &lt;?INDEX {\tt MaxRequestsPerChild} directive&gt; -->
+
+ <p><a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> MaxRequestsPerChild
+ <em>number</em><br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>Default:</strong></a>
+ <code>MaxRequestsPerChild 10000</code><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> MPM<br />
+ <a href="directive-dict.html#Module"
+ rel="Help"><strong>Module:</strong></a> threaded, prefork,
+ perchild, mpm_winnt</p>
+
+ <p>The MaxRequestsPerChild directive sets the limit on the
+ number of requests that an individual child server process will
+ handle. After MaxRequestsPerChild requests, the child process
+ will die. If MaxRequestsPerChild is 0, then the process will
+ never expire.</p>
+
+ <p>Setting MaxRequestsPerChild to a non-zero limit has two
+ beneficial effects:</p>
+
+ <ul>
+ <li>it limits the amount of memory that process can consume
+ by (accidental) memory leakage;</li>
+
+ <li>by giving processes a finite lifetime, it helps reduce
+ 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>
+ <hr />
+
+ <h2><a id="maxsparethreads"
+ name="maxsparethreads">MaxSpareThreads directive</a></h2>
+
+ <p><a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> MaxSpareThreads
+ <em>number</em><br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>Default:</strong></a> <code>MaxSpareThreads
+ 10 (Perchild) or 500 (threaded)</code><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> core<br />
+ <a href="directive-dict.html#Module"
+ rel="Help"><strong>Module:</strong></a> threaded, perchild</p>
+
+ <p>Maximum number of idle threads. Different MPMs deal with
+ this directive differently. Perchild monitor the number of idle
+ threads on a per-child basis. If there are too many idle
+ threads in that child, the server will begin to kill threads
+ within that child.</p>
+
+ <p>threaded deals with idle threads on a server-wide basis. If
+ there are too many idle threads in the server then child
+ processes are killed until the number of idle threads is less
+ than this number.</p>
+
+ <p>See also <a href="#minsparethreads">MinSpareThreads</a> and
+ <a href="#startservers">StartServers</a>.</p>
+ <hr />
+
+ <h2><a id="maxthreadsperchild"
+ name="maxthreadsperchild">MaxThreadsPerChild directive</a></h2>
+
+ <p><a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> MaxThreadsPerChild
+ <em>number</em><br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>Default:</strong></a>
+ <code>MaxThreadsPerChild 64</code> <a
+ href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> core<br />
+ <a href="directive-dict.html#Module"
+ rel="Help"><strong>Module:</strong></a> threaded, perchild</p>
+
+ <p>Maximum number of threads per child. For MPMs with a
+ variable number of threads per child, this directive sets the
+ maximum number of threads that will be created in each child
+ process. To increase this value beyond its default, it is
+ necessary to change the value of the compile-time define
+ <code>HARD_THREAD_LIMIT</code> and recompile the server.</p>
+ <hr />
+
+ <h2><a id="minsparethreads"
+ name="minsparethreads">MinSpareThreads directive</a></h2>
+ <!--%plaintext &lt;?INDEX {\tt MinSpareServers} directive&gt; -->
+
+ <p><a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> MinSpareServers
+ <em>number</em><br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>Default:</strong></a> <code>MaxSpareThreads
+ 5 (Perchild) or 250 (threaded)</code><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> core<br />
+ <a href="directive-dict.html#Module"
+ rel="Help"><strong>Module:</strong></a> threaded, perchild</p>
+
+ <p>Minimum number of idle threads to handle request spikes.
+ Different MPMs deal with this directive differently. Perchild
+ monitor the number of idle threads on a per-child basis. If
+ there aren't enough idle threads in that child, the server will
+ begin to create new threads within that child.</p>
+
+ <p>threaded deals with idle threads on a server-wide basis. If
+ there aren't enough idle threads in the server then child
+ processes are created until the number of idle threads is
+ greater than number.</p>
+ See also <a href="#maxsparethreads">MaxSpareThreads</a> and <a
+ href="#startservers">StartServers</a>.
+ <hr />
+
+ <h2><a id="numservers" name="numservers">NumServers
+ directive</a></h2>
+
+ <p><a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> NumServers
+ <em>number</em><br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>Default:</strong></a> <code>NumServers
+ 2</code><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> MPM<br />
+ <a href="directive-dict.html#Module"
+ rel="Help"><strong>Module:</strong></a> perchild</p>
+
+ <p>Number of children alive at the same time. MPMs that use
+ this directive do not dynamically create new child processes so
+ this number should be large enough to handle the requests for
+ the entire site.</p>
+ <hr />
+
+ <h2><a id="scoreboardfile" name="scoreboardfile">ScoreBoardFile
+ directive</a></h2>
+ <!--%plaintext &lt;?INDEX {\tt ScoreBoardFile} directive&gt; -->
+
+ <p><a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> ScoreBoardFile
+ <em>filename</em><br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>Default:</strong></a> <code>ScoreBoardFile
+ logs/apache_status</code><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> MPM<br />
+ <a href="directive-dict.html#Compatibility" rel="Help"></a> <a
+ href="directive-dict.html#Module"
+ rel="Help"><strong>Module:</strong></a> threaded, perchild,
+ prefork</p>
+
+ <p>The ScoreBoardFile directive is required on some
+ architectures to place a file that the server will use to
+ communicate between its children and the parent. The easiest
+ way to find out if your architecture requires a scoreboard file
+ is to run Apache and see if it creates the file named by the
+ directive. If your architecture requires it then you must
+ ensure that this file is not used at the same time by more than
+ one invocation of Apache.</p>
+
+ <p>If you have to use a ScoreBoardFile then you may see
+ improved speed by placing it on a RAM disk. But be careful that
+ you heed the same warnings about log file placement and <a
+ href="../misc/security_tips.html">security</a>.</p>
+
+ <p><strong>See Also</strong>: <a
+ href="../stopping.html">Stopping and Restarting Apache</a></p>
+ <hr />
+
+ <h2><a id="sendbuffersize" name="sendbuffersize">SendBufferSize
+ directive</a></h2>
+ <!--%plaintext &lt;?INDEX {\tt SendBufferSize} directive&gt; -->
+
+ <p><a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> SendBufferSize
+ <em>bytes</em><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> MPM<br />
+ <a href="directive-dict.html#Module"
+ rel="Help"><strong>Module:</strong></a> threaded, perchild,
+ prefork, mpm_winnt</p>
+ The server will set the TCP buffer size to the number of bytes
+ specified. Very useful to increase past standard OS defaults on
+ high speed high latency (<em>i.e.</em>, 100ms or so, such as
+ transcontinental fast pipes)
+ <hr />
+
+ <h2><a id="startservers" name="startservers">StartServers
+ directive</a></h2>
+ <!--%plaintext &lt;?INDEX {\tt StartServers} directive&gt; -->
+
+ <p><a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> StartServers
+ <em>number</em><br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>Default:</strong></a> <code>StartServers
+ 5</code><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> MPM<br />
+ <a href="directive-dict.html#Module"
+ rel="Help"><strong>Module:</strong></a> threaded, prefork</p>
+
+ <p>The StartServers directive sets the number of child server
+ processes created on startup. As the number of processes is
+ dynamically controlled depending on the load, there is usually
+ little reason to adjust this parameter.</p>
+
+ <p>See also <a href="#minsparethreads">MinSpareThreads</a> and
+ <a href="#maxsparethreads">MaxSpareThreads</a>.</p>
+ <hr />
+
+ <h2><a id="startthreads" name="startthreads">StartThreads
+ directive</a></h2>
+
+ <p><a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> StartThreads
+ <em>number</em><br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>Default:</strong></a> <code>StartThreads
+ 5</code><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> MPM<br />
+ <a href="directive-dict.html#Module"
+ rel="Help"><strong>Module:</strong></a> perchild</p>
+
+ <p>Number of threads each child creates on startup. As the
+ number of threads is dynamically controlled depending on the
+ load, there is usually little reason to adjust this
+ parameter.</p>
+ <hr />
+
+ <h2><a id="threadsperchild"
+ name="threadsperchild">ThreadsPerChild</a></h2>
+
+ <p><a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> ThreadsPerChild
+ <em>number</em><br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>Default:</strong></a> <code>ThreadsPerChild
+ 50</code><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> MPM<br />
+ <a href="directive-dict.html#Module"
+ rel="Help"><strong>Module:</strong></a> threaded, mpm_winnt</p>
+
+ <p>This directive sets the number of threads created by each
+ child process. The child creates these threads at startup and
+ never creates more. if using an MPM like mpmt_winnt, where
+ there is only one child process, this number should be high
+ enough to handle the entire load of the server. If using an MPM
+ like threaded, where there are multiple child processes, the
+ total number of threads should be high enough to handle the
+ common load on the server.</p>
+ <hr />
+
+ <h2><a id="user" name="user">User directive</a></h2>
+ <!--%plaintext &lt;?INDEX {\tt User} directive&gt; -->
+
+ <p><a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> User
+ <em>unix-userid</em><br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>Default:</strong></a> <code>User
+ #-1</code><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config, virtual
+ host<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> core<br />
+ <a href="directive-dict.html#Module"
+ rel="Help"><strong>Module:</strong></a> threaded, perchild,
+ prefork</p>
+ The User 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:
+
+ <dl>
+ <dt>A username</dt>
+
+ <dd>Refers to the given user by name.</dd>
+
+ <dt># followed by a user number.</dt>
+
+ <dd>Refers to a user by their number.</dd>
+ </dl>
+ The user should have no privileges which result in it being
+ able to access files which are not intended to be visible to
+ the outside world, and similarly, the user should not be able
+ to execute code which is not meant for httpd requests. It is
+ recommended that you set up a new user and group specifically
+ for running the server. Some admins use user
+ <code>nobody</code>, but this is not always possible or
+ desirable. For example mod_proxy's cache, when enabled, must be
+ accessible to this user (see <a
+ href="mod_proxy.html">mod_proxy's</a> <code>CacheRoot</code>
+ directive).
+
+ <p>Notes: If you start the server as a non-root user, it will
+ fail to change to the lesser privileged user, and will instead
+ continue to run as that original user. If you do start the
+ server as root, then it is normal for the parent process to
+ remain running as root.</p>
+
+ <p>Special note: Use of this directive in &lt;VirtualHost&gt;
+ is no longer supported. To configure your server for <a
+ href="mod_suexec.html">suexec</a> use <a
+ href="mod_suexec.html#suexecusergroup">SuexecUserGroup</a>.
+ SECURITY: Don't set User (or <a href="#group">Group</a>) to
+ <code>root</code> unless you know exactly what you are doing,
+ and what the dangers are.</p>
+
+ <p><!--#include virtual="footer.html" -->
+ </p>
+ </body>
+</html>
+