mpm_common.xml revision aec7c8cf914c36561c73aee001924daa6ce7a21b
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync<?xml version="1.0"?>
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync<!DOCTYPE modulesynopsis SYSTEM "/style/modulesynopsis.dtd">
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync<?xml-stylesheet type="text/xsl" href="/style/manual.en.xsl"?>
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync<modulesynopsis>
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync<name>mpm_common</name>
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync<description>A collection of directives that are implemented by
23179f1443b03947d85eccc81cbc6b5153a4abf3vboxsyncmore than one multi-processing module (MPM)</description>
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync<status>MPM</status>
bd8e360cd1db83dcb2694ea9122ce3bc5bae678avboxsync
bd8e360cd1db83dcb2694ea9122ce3bc5bae678avboxsync<directivesynopsis>
bd8e360cd1db83dcb2694ea9122ce3bc5bae678avboxsync<name>CoreDumpDirectory</name>
bd8e360cd1db83dcb2694ea9122ce3bc5bae678avboxsync<description>Directory where Apache attempts to
bd8e360cd1db83dcb2694ea9122ce3bc5bae678avboxsyncswitch before dumping core</description>
bd8e360cd1db83dcb2694ea9122ce3bc5bae678avboxsync<syntax>CoreDumpDirectory <em>directory</em></syntax>
bd8e360cd1db83dcb2694ea9122ce3bc5bae678avboxsync<default>See usage for the default setting</default>
1c94c0a63ba68be1a7b2c640e70d7a06464e4fcavboxsync<contextlist><context>server config</context></contextlist>
1c94c0a63ba68be1a7b2c640e70d7a06464e4fcavboxsync<modulelist><module>worker</module><module>perchild</module>
1c94c0a63ba68be1a7b2c640e70d7a06464e4fcavboxsync<module>prefork</module><module>mpm_winnt</module>
1c94c0a63ba68be1a7b2c640e70d7a06464e4fcavboxsync</modulelist>
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync<usage>
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync <p>This controls the directory to which Apache attempts to
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync switch before dumping core. The default is in the
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync <directive module="core">ServerRoot</directive> directory, however
23179f1443b03947d85eccc81cbc6b5153a4abf3vboxsync since this should not be writable by the user the server runs
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync as, core dumps won't normally get written. If you want a core
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync dump for debugging, you can use this directive to place it in a
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync different location.</p>
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync</usage>
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync</directivesynopsis>
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync<directivesynopsis>
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync<name>Group</name>
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync<description>Group under which the server will answer
bff1915a855c5b71d76f6391549eadda348e33b0vboxsyncrequests</description>
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync<syntax>Group <em>unix-group</em></syntax>
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync<default>Group #-1</default>
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync<contextlist><context>server config</context><context>virtual host</context>
0f299115229ed1bfd92c030c82b8f9930f109f2dvboxsync</contextlist>
5eabf773597082761832bc0a32b3660e8771f9f1vboxsync<modulelist><module>worker</module><module>perchild</module>
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync<module>prefork</module></modulelist>
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync
27018c8fbf977d7c4f67758c674736ff1c78804fvboxsync<usage>
b9f5a22c6e86f7e09242c7483d8a67bd72f13a79vboxsync <p>The <directive>Group</directive> directive sets the group under
e165c61901edef5d42ef72ba30880eb3074e435dvboxsync which the server will answer requests. In order to use this
a649440589a732fe4aad2af224cc72318108d855vboxsync directive, the stand-alone server must be run initially as root.
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync <em>Unix-group</em> is one of:</p>
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync <dl>
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync <dt>A group name</dt>
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync <dd>Refers to the given group by name.</dd>
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync <dt># followed by a group number.</dt>
b1af3faab73d10122abc6a77cc3811657b6300f1vboxsync
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync <dd>Refers to a group by its number.</dd>
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync </dl>
ef811bab708f967b28bcdb7897e82b5e101eb226vboxsync <p>It is recommended that you set up a new group specifically for
ef811bab708f967b28bcdb7897e82b5e101eb226vboxsync running the server. Some admins use user <code>nobody</code>,
ef811bab708f967b28bcdb7897e82b5e101eb226vboxsync but this is not always possible or desirable.</p>
ef811bab708f967b28bcdb7897e82b5e101eb226vboxsync
ef811bab708f967b28bcdb7897e82b5e101eb226vboxsync <p>Note: if you start the server as a non-root user, it will
4c1959cb05f17e7a71ace7cb1796292247f732e8vboxsync fail to change to the specified group, and will instead
4c1959cb05f17e7a71ace7cb1796292247f732e8vboxsync continue to run as the group of the original user.</p>
4c1959cb05f17e7a71ace7cb1796292247f732e8vboxsync
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync <p>Special note: Use of this directive in &lt;VirtualHost&gt; is
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync no longer supported. To implement the <a
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync href="/suexec.html">suEXEC wrapper</a> with Apache 2.0, use the
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync <directive module="mod_suexec">SuexecUserGroup</directive>
27018c8fbf977d7c4f67758c674736ff1c78804fvboxsync directive. SECURITY: See <directive
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync module="mpm_common">User</directive> for a discussion of the
0f299115229ed1bfd92c030c82b8f9930f109f2dvboxsync security considerations.</p>
27018c8fbf977d7c4f67758c674736ff1c78804fvboxsync</usage>
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync</directivesynopsis>
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync<directivesynopsis>
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync<name>PidFile</name>
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync<description>File where the server records the process ID
bff1915a855c5b71d76f6391549eadda348e33b0vboxsyncof the daemon</description>
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync<syntax>PidFile <em>filename</em></syntax>
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync<default>PidFile logs/httpd.pid</default>
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync<contextlist><context>server config</context></contextlist>
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync<modulelist><module>worker</module><module>perchild</module>
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync<module>prefork</module><module>mpm_winnt</module>
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync</modulelist>
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync<usage>
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync <p>The <directive>PidFile</directive> directive sets the file to
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync which the server records the process id of the daemon. If the
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync filename does not begin with a slash (/) then it is assumed to be
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync relative to the <directive module="core">ServerRoot</directive>.</p>
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync <example><title>Example</title>
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync PidFile /var/run/apache.pid
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync </example>
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync <p>It is often useful to be able to send the server a signal,
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync so that it closes and then reopens its <directive
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync module="core">ErrorLog</directive> and TransferLog, and
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync re-reads its configuration files. This is done by sending a
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync SIGHUP (kill -1) signal to the process id listed in the
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync PidFile.</p>
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync
9c422943cda5afa926d367aeb7d40cfdffa216f9vboxsync <p>The PidFile is subject to the same warnings about log file
9c422943cda5afa926d367aeb7d40cfdffa216f9vboxsync placement and <a
9c422943cda5afa926d367aeb7d40cfdffa216f9vboxsync href="/misc/security_tips.html#serverroot">security</a>.</p>
9c422943cda5afa926d367aeb7d40cfdffa216f9vboxsync</usage>
9c422943cda5afa926d367aeb7d40cfdffa216f9vboxsync</directivesynopsis>
9c422943cda5afa926d367aeb7d40cfdffa216f9vboxsync
9c422943cda5afa926d367aeb7d40cfdffa216f9vboxsync<directivesynopsis>
9c422943cda5afa926d367aeb7d40cfdffa216f9vboxsync<name>Listen</name>
9c422943cda5afa926d367aeb7d40cfdffa216f9vboxsync<description>IP addresses and ports that the server
9c422943cda5afa926d367aeb7d40cfdffa216f9vboxsynclistens to</description>
9c422943cda5afa926d367aeb7d40cfdffa216f9vboxsync<syntax>Listen [<em>IP-address</em>:]<em>portnumber</em></syntax>
9c422943cda5afa926d367aeb7d40cfdffa216f9vboxsync<contextlist><context>server config</context></contextlist>
9c422943cda5afa926d367aeb7d40cfdffa216f9vboxsync<modulelist><module>worker</module><module>perchild</module>
9c422943cda5afa926d367aeb7d40cfdffa216f9vboxsync<module>prefork</module><module>mpm_winnt</module>
9c422943cda5afa926d367aeb7d40cfdffa216f9vboxsync</modulelist>
9c422943cda5afa926d367aeb7d40cfdffa216f9vboxsync
9c422943cda5afa926d367aeb7d40cfdffa216f9vboxsync<usage>
9c422943cda5afa926d367aeb7d40cfdffa216f9vboxsync <p>The <directive>Listen</directive> directive instructs Apache to
9c422943cda5afa926d367aeb7d40cfdffa216f9vboxsync listen to only specific IP addresses or ports; by default it
9c422943cda5afa926d367aeb7d40cfdffa216f9vboxsync responds to requests on all IP interfaces. The Listen directive is
9c422943cda5afa926d367aeb7d40cfdffa216f9vboxsync now a required directive. If it is not in the config file, the
9c422943cda5afa926d367aeb7d40cfdffa216f9vboxsync server will fail to start. This is a change from previous versions
9c422943cda5afa926d367aeb7d40cfdffa216f9vboxsync of Apache.</p>
9c422943cda5afa926d367aeb7d40cfdffa216f9vboxsync
9c422943cda5afa926d367aeb7d40cfdffa216f9vboxsync <p>The Listen directive tells the server to accept incoming
9c422943cda5afa926d367aeb7d40cfdffa216f9vboxsync requests on the specified port or address-and-port combination.
9c422943cda5afa926d367aeb7d40cfdffa216f9vboxsync If only a port number is specified, the server listens to the
9c422943cda5afa926d367aeb7d40cfdffa216f9vboxsync given port on all interfaces. If an IP address is given as well
9c422943cda5afa926d367aeb7d40cfdffa216f9vboxsync as a port, the server will listen on the given port and
9c422943cda5afa926d367aeb7d40cfdffa216f9vboxsync interface.</p>
9c422943cda5afa926d367aeb7d40cfdffa216f9vboxsync
9c422943cda5afa926d367aeb7d40cfdffa216f9vboxsync <p>Multiple Listen directives may be used to specify a number
9c422943cda5afa926d367aeb7d40cfdffa216f9vboxsync of addresses and ports to listen to. The server will respond to
9c422943cda5afa926d367aeb7d40cfdffa216f9vboxsync requests from any of the listed addresses and ports.</p>
9c422943cda5afa926d367aeb7d40cfdffa216f9vboxsync
9c422943cda5afa926d367aeb7d40cfdffa216f9vboxsync <p>For example, to make the server accept connections on both
9c422943cda5afa926d367aeb7d40cfdffa216f9vboxsync port 80 and port 8000, use:</p>
9c422943cda5afa926d367aeb7d40cfdffa216f9vboxsync<example>
9c422943cda5afa926d367aeb7d40cfdffa216f9vboxsync Listen 80<br />
9c422943cda5afa926d367aeb7d40cfdffa216f9vboxsync Listen 8000
9c422943cda5afa926d367aeb7d40cfdffa216f9vboxsync</example>
9c422943cda5afa926d367aeb7d40cfdffa216f9vboxsync <p>To make the server accept connections on two specified
9c422943cda5afa926d367aeb7d40cfdffa216f9vboxsync interfaces and port numbers, use </p>
9c422943cda5afa926d367aeb7d40cfdffa216f9vboxsync<example>
9c422943cda5afa926d367aeb7d40cfdffa216f9vboxsync Listen 192.170.2.1:80<br />
9c422943cda5afa926d367aeb7d40cfdffa216f9vboxsync Listen 192.170.2.5:8000
9c422943cda5afa926d367aeb7d40cfdffa216f9vboxsync</example>
9c422943cda5afa926d367aeb7d40cfdffa216f9vboxsync <p>IPv6 addresses must be surrounded in square brackets, as in the
9c422943cda5afa926d367aeb7d40cfdffa216f9vboxsync following example:</p>
9c422943cda5afa926d367aeb7d40cfdffa216f9vboxsync<example>
9c422943cda5afa926d367aeb7d40cfdffa216f9vboxsync Listen [fe80::a00:20ff:fea7:ccea]:80
9c422943cda5afa926d367aeb7d40cfdffa216f9vboxsync</example>
9c422943cda5afa926d367aeb7d40cfdffa216f9vboxsync</usage>
9c422943cda5afa926d367aeb7d40cfdffa216f9vboxsync
9c422943cda5afa926d367aeb7d40cfdffa216f9vboxsync<seealso><a href="/dns-caveats.html">DNS Issues</a></seealso>
9c422943cda5afa926d367aeb7d40cfdffa216f9vboxsync<seealso><a href="/bind.html">Setting
9c422943cda5afa926d367aeb7d40cfdffa216f9vboxsync which addresses and ports Apache uses</a></seealso>
9c422943cda5afa926d367aeb7d40cfdffa216f9vboxsync</directivesynopsis>
9c422943cda5afa926d367aeb7d40cfdffa216f9vboxsync
9c422943cda5afa926d367aeb7d40cfdffa216f9vboxsync<directivesynopsis>
9c422943cda5afa926d367aeb7d40cfdffa216f9vboxsync<name>ListenBackLog</name>
9c422943cda5afa926d367aeb7d40cfdffa216f9vboxsync<description>Maximum length of the queue of pending connections</description>
9c422943cda5afa926d367aeb7d40cfdffa216f9vboxsync<syntax>ListenBacklog <em>backlog</em></syntax>
9c422943cda5afa926d367aeb7d40cfdffa216f9vboxsync<default>ListenBacklog 511</default>
9c422943cda5afa926d367aeb7d40cfdffa216f9vboxsync<contextlist><context>server config</context></contextlist>
9c422943cda5afa926d367aeb7d40cfdffa216f9vboxsync<modulelist><module>worker</module><module>perchild</module>
9c422943cda5afa926d367aeb7d40cfdffa216f9vboxsync<module>prefork</module><module>mpm_winnt</module>
9c422943cda5afa926d367aeb7d40cfdffa216f9vboxsync</modulelist>
9c422943cda5afa926d367aeb7d40cfdffa216f9vboxsync
9c422943cda5afa926d367aeb7d40cfdffa216f9vboxsync<usage>
9c422943cda5afa926d367aeb7d40cfdffa216f9vboxsync <p>The maximum length of the queue of pending connections.
9c422943cda5afa926d367aeb7d40cfdffa216f9vboxsync Generally no tuning is needed or desired, however on some
9c422943cda5afa926d367aeb7d40cfdffa216f9vboxsync systems it is desirable to increase this when under a TCP SYN
9c422943cda5afa926d367aeb7d40cfdffa216f9vboxsync flood attack. See the backlog parameter to the
9c422943cda5afa926d367aeb7d40cfdffa216f9vboxsync <code>listen(2)</code> system call.</p>
9c422943cda5afa926d367aeb7d40cfdffa216f9vboxsync
9c422943cda5afa926d367aeb7d40cfdffa216f9vboxsync <p>This will often be limited to a smaller number by the
9c422943cda5afa926d367aeb7d40cfdffa216f9vboxsync operating system. This varies from OS to OS. Also note that
9c422943cda5afa926d367aeb7d40cfdffa216f9vboxsync many OSes do not use exactly what is specified as the backlog,
9c422943cda5afa926d367aeb7d40cfdffa216f9vboxsync but use a number based on (but normally larger than) what is
9c422943cda5afa926d367aeb7d40cfdffa216f9vboxsync set.</p>
9c422943cda5afa926d367aeb7d40cfdffa216f9vboxsync</usage>
9c422943cda5afa926d367aeb7d40cfdffa216f9vboxsync</directivesynopsis>
9c422943cda5afa926d367aeb7d40cfdffa216f9vboxsync
9c422943cda5afa926d367aeb7d40cfdffa216f9vboxsync<directivesynopsis>
9c422943cda5afa926d367aeb7d40cfdffa216f9vboxsync<name>LockFile</name>
9c422943cda5afa926d367aeb7d40cfdffa216f9vboxsync<description>Location of the accept serialization lock file</description>
9c422943cda5afa926d367aeb7d40cfdffa216f9vboxsync<syntax>LockFile <em>filename</em></syntax>
9c422943cda5afa926d367aeb7d40cfdffa216f9vboxsync<default>LockFile logs/accept.lock</default>
9c422943cda5afa926d367aeb7d40cfdffa216f9vboxsync<contextlist><context>server config</context></contextlist>
9c422943cda5afa926d367aeb7d40cfdffa216f9vboxsync<modulelist><module>worker</module><module>perchild</module>
9c422943cda5afa926d367aeb7d40cfdffa216f9vboxsync<module>prefork</module></modulelist>
9c422943cda5afa926d367aeb7d40cfdffa216f9vboxsync
9c422943cda5afa926d367aeb7d40cfdffa216f9vboxsync<usage>
9c422943cda5afa926d367aeb7d40cfdffa216f9vboxsync <p>The <directive>LockFile</directive> directive sets the path to
9c422943cda5afa926d367aeb7d40cfdffa216f9vboxsync the lockfile used when Apache is compiled with either
9c422943cda5afa926d367aeb7d40cfdffa216f9vboxsync USE_FCNTL_SERIALIZED_ACCEPT or USE_FLOCK_SERIALIZED_ACCEPT. This
9c422943cda5afa926d367aeb7d40cfdffa216f9vboxsync directive should normally be left at its default value. The main
9c422943cda5afa926d367aeb7d40cfdffa216f9vboxsync reason for changing it is if the <code>logs</code> directory is
9c422943cda5afa926d367aeb7d40cfdffa216f9vboxsync NFS mounted, since <strong>the lockfile must be stored on a local
9c422943cda5afa926d367aeb7d40cfdffa216f9vboxsync disk</strong>. The PID of the main server process is
9c422943cda5afa926d367aeb7d40cfdffa216f9vboxsync automatically appended to the filename.</p>
9c422943cda5afa926d367aeb7d40cfdffa216f9vboxsync
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync <p><strong>SECURITY:</strong> It is best to avoid putting this
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync file in a world writable directory such as
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync <code>/var/tmp</code> because someone could create a denial of
0ce6ae9d6efed5d54222a13bbdabce9e688e4447vboxsync service attack and prevent the server from starting by creating
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync a lockfile with the same name as the one the server will try to
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync create.</p>
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync</usage>
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync</directivesynopsis>
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync<directivesynopsis>
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync<name>MaxClients</name>
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync<description>Maximum number of child processes that will be created
432d08d68b9683d01880890d475a4cadd84b69cevboxsyncto serve requests</description>
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync<syntax>MaxClients <em>number</em></syntax>
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync<contextlist><context>server config</context></contextlist>
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync<modulelist><module>worker</module><module>prefork</module>
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync</modulelist>
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync<usage>
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync <p>The <directive>MaxClients</directive> directive sets the limit
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync on the number of simultaneous requests that will be served. Any
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync connection attempts over the <directive>MaxClients</directive>
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync limit will normally be queued, up to a number based on the
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync <directive module="mpm_common">ListenBacklog</directive>
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync directive. Once a child process is freed at the end of a different
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync request, the connection will then be serviced.</p>
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync <p>For non-threaded servers (i.e., <module>prefork</module>),
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync <directive>MaxClients</directive> translates into the maximum
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync number of child processes that will be launched to serve requests.
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync The default value is 256; to increase it, you must also raise
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync <directive module="mpm_common">ServerLimit</directive>.</p>
d056279b935642d0fc1ddf89c17cab3bc6c30b83vboxsync
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync <p>For threaded servers (i.e., <module>worker</module>),
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync <directive>MaxClients</directive> restricts the total
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync number of threads that will be available to serve clients.
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync The default value is 16 multiplied by the value of
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync <directive module="mpm_common">ThreadsPerChild</directive>.
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync To increase <directive>MaxClients</directive> to a value
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync that requires more than 16 processes, you must also
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync raise <directive module="mpm_common">ServerLimit</directive>.</p>
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync</usage>
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync</directivesynopsis>
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync<directivesynopsis>
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync<name>MaxMemFree</name>
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync<description>Maximum amount of memory that the main allocator is allowed
bff1915a855c5b71d76f6391549eadda348e33b0vboxsyncto hold without calling free()</description>
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync<syntax>MaxMemFree <em>number</em></syntax>
d63fbe5743c4b88211f30af1bcb78df1e58d0ac6vboxsync<contextlist><context>server config</context></contextlist>
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync<modulelist><module>worker</module><module>prefork</module>
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync<module>mpm_netware</module>
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync</modulelist>
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync<usage>
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync <p>The <directive>MaxMemFree</directive> directive sets the
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync maximum number of free Kbytes that the main allocator is allowed
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync to hold without calling free(). When not set, or when set to
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync zero, the threshold will be set to unlimited.</p>
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync</usage>
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync</directivesynopsis>
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync<directivesynopsis>
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync<name>MaxRequestsPerChild</name>
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync<description>Limit on the number of requests that an individual child server
bff1915a855c5b71d76f6391549eadda348e33b0vboxsyncwill handle during its life</description>
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync<syntax>MaxRequestsPerChild <em>number</em></syntax>
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync<default>MaxRequestsPerChild 10000</default>
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync<contextlist><context>server config</context></contextlist>
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync<modulelist><module>worker</module><module>perchild</module>
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync<module>prefork</module><module>mpm_winnt</module>
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync</modulelist>
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync<usage>
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync <p>The <directive>MaxRequestsPerChild</directive> directive sets
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync the limit on the number of requests that an individual child
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync server process will handle. After
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync <directive>MaxRequestsPerChild</directive> requests, the child
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync process will die. If <directive>MaxRequestsPerChild</directive> is
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync 0, then the process will never expire.</p>
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync <p>Setting <directive>MaxRequestsPerChild</directive> to a
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync non-zero limit has two beneficial effects:</p>
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync <ul>
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync <li>it limits the amount of memory that process can consume
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync by (accidental) memory leakage;</li>
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync <li>by giving processes a finite lifetime, it helps reduce
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync the number of processes when the server load reduces.</li>
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync </ul>
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync <p><strong>NOTE:</strong> For <em>KeepAlive</em> requests, only
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync the first request is counted towards this limit. In effect, it
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync changes the behavior to limit the number of
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync <em>connections</em> per child.</p>
aa0632eb844172ced4bef7b3afdbb216c8462fb2vboxsync</usage>
aa0632eb844172ced4bef7b3afdbb216c8462fb2vboxsync</directivesynopsis>
aa0632eb844172ced4bef7b3afdbb216c8462fb2vboxsync
aa0632eb844172ced4bef7b3afdbb216c8462fb2vboxsync<directivesynopsis>
aa0632eb844172ced4bef7b3afdbb216c8462fb2vboxsync<name>MaxSpareThreads</name>
aa0632eb844172ced4bef7b3afdbb216c8462fb2vboxsync<description>Maximum number of idle threads</description>
aa0632eb844172ced4bef7b3afdbb216c8462fb2vboxsync<syntax>MaxSpareThreads <em>number</em></syntax>
aa0632eb844172ced4bef7b3afdbb216c8462fb2vboxsync<contextlist><context>server config</context></contextlist>
aa0632eb844172ced4bef7b3afdbb216c8462fb2vboxsync<modulelist><module>mpm_netware</module>
aa0632eb844172ced4bef7b3afdbb216c8462fb2vboxsync<module>perchild</module><module>worker</module>
aa0632eb844172ced4bef7b3afdbb216c8462fb2vboxsync</modulelist>
432d08d68b9683d01880890d475a4cadd84b69cevboxsync
432d08d68b9683d01880890d475a4cadd84b69cevboxsync<usage>
432d08d68b9683d01880890d475a4cadd84b69cevboxsync <p>Maximum number of idle threads. Different MPMs deal with this
432d08d68b9683d01880890d475a4cadd84b69cevboxsync directive differently.</p>
432d08d68b9683d01880890d475a4cadd84b69cevboxsync
432d08d68b9683d01880890d475a4cadd84b69cevboxsync <p>For <module>perchild</module> the default is
432d08d68b9683d01880890d475a4cadd84b69cevboxsync <code>MaxSpareThreads 10</code>. This MPM monitors the number of
432d08d68b9683d01880890d475a4cadd84b69cevboxsync idle threads on a per-child basis. If there are too many idle
432d08d68b9683d01880890d475a4cadd84b69cevboxsync threads in that child, the server will begin to kill threads
432d08d68b9683d01880890d475a4cadd84b69cevboxsync within that child.</p>
432d08d68b9683d01880890d475a4cadd84b69cevboxsync
aa0632eb844172ced4bef7b3afdbb216c8462fb2vboxsync <p>For <module>worker</module> the default is
aa0632eb844172ced4bef7b3afdbb216c8462fb2vboxsync <code>MaxSpareThreads 500</code>. This MPM deals with idle threads
aa0632eb844172ced4bef7b3afdbb216c8462fb2vboxsync on a server-wide basis. If there are too many idle threads in the
aa0632eb844172ced4bef7b3afdbb216c8462fb2vboxsync server then child processes are killed until the number of idle
aa0632eb844172ced4bef7b3afdbb216c8462fb2vboxsync threads is less than this number.</p>
aa0632eb844172ced4bef7b3afdbb216c8462fb2vboxsync
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync <p>For <module>mpm_netware</module> the default is
e214bb78026c1d64078b34ca9504d3f5abbc52efvboxsync <code>MaxSpareThreads 100</code>. Since this MPM runs a
e214bb78026c1d64078b34ca9504d3f5abbc52efvboxsync single-process, the spare thread count is also server-wide.</p>
e214bb78026c1d64078b34ca9504d3f5abbc52efvboxsync
e214bb78026c1d64078b34ca9504d3f5abbc52efvboxsync</usage>
e214bb78026c1d64078b34ca9504d3f5abbc52efvboxsync<seealso><directive module="mpm_common">MinSpareThreads</directive></seealso>
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync<seealso><directive module="mpm_common">StartServers</directive></seealso>
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync</directivesynopsis>
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync<directivesynopsis>
fc148a6b23d25a87561beaffe0ba06c3ba93bf5avboxsync<name>MaxThreadsPerChild</name>
fc148a6b23d25a87561beaffe0ba06c3ba93bf5avboxsync<description>Maximum number of threads per child process</description>
fc148a6b23d25a87561beaffe0ba06c3ba93bf5avboxsync<syntax>MaxThreadsPerChild <em>number</em></syntax>
fc148a6b23d25a87561beaffe0ba06c3ba93bf5avboxsync<default>MaxThreadsPerChild 64</default>
fc148a6b23d25a87561beaffe0ba06c3ba93bf5avboxsync<contextlist><context>server config</context></contextlist>
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync<modulelist><module>worker</module><module>perchild</module>
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync</modulelist>
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync<usage>
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync <p>Maximum number of threads per child. For MPMs with a
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync variable number of threads per child, this directive sets the
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync maximum number of threads that will be created in each child
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync process. To increase this value beyond its default, it is
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync necessary to change the value of the compile-time define
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync <code>HARD_THREAD_LIMIT</code> and recompile the server.</p>
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync</usage>
f72cbd6a549c34992fa79cce84600fe2b92b3299vboxsync</directivesynopsis>
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync<directivesynopsis>
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync<name>MinSpareThreads</name>
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync<description>Minimum number of idle threads available to handle request
bff1915a855c5b71d76f6391549eadda348e33b0vboxsyncspikes</description>
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync<syntax>MinSpareServers <em>number</em></syntax>
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync<contextlist><context>server config</context></contextlist>
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync<modulelist><module>mpm_netware</module>
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync<module>perchild</module><module>worker</module>
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync</modulelist>
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync<usage>
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync <p>Minimum number of idle threads to handle request spikes.
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync Different MPMs deal with this directive
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync differently.</p>
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync <p><module>perchild</module> uses a default of
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync <code>MinSpareThreads 5</code> and monitors the number of idle
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync threads on a per-child basis. If there aren't enough idle threads
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync in that child, the server will begin to create new threads within
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync that child.</p>
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync <p><module>worker</module> uses a default of <code>MinSpareThreads
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync 250</code> and deals with idle threads on a server-wide basis. If
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync there aren't enough idle threads in the server then child
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync processes are created until the number of idle threads is greater
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync than number.</p>
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync <p><module>mpm_netware</module> uses a default of
432d08d68b9683d01880890d475a4cadd84b69cevboxsync <code>MinSpareThreads 10</code> and, since it is a single-process
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync MPM, tracks this on a server-wide bases.</p>
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync</usage>
9c422943cda5afa926d367aeb7d40cfdffa216f9vboxsync<seealso><directive module="mpm_common">MaxSpareThreads</directive></seealso>
9c422943cda5afa926d367aeb7d40cfdffa216f9vboxsync<seealso><directive module="mpm_common">StartServers</directive></seealso>
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync</directivesynopsis>
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync<directivesynopsis>
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync<name>NumServers</name>
ef811bab708f967b28bcdb7897e82b5e101eb226vboxsync<description>Total number of children alive at the same time</description>
ef811bab708f967b28bcdb7897e82b5e101eb226vboxsync<syntax>NumServers <em>number</em></syntax>
ef811bab708f967b28bcdb7897e82b5e101eb226vboxsync<default>NumServers 2</default>
ef811bab708f967b28bcdb7897e82b5e101eb226vboxsync<contextlist><context>server config</context></contextlist>
ef811bab708f967b28bcdb7897e82b5e101eb226vboxsync<modulelist><module>perchild</module></modulelist>
ef811bab708f967b28bcdb7897e82b5e101eb226vboxsync
ef811bab708f967b28bcdb7897e82b5e101eb226vboxsync<usage>
ef811bab708f967b28bcdb7897e82b5e101eb226vboxsync <p>Number of children alive at the same time. MPMs that use
ef811bab708f967b28bcdb7897e82b5e101eb226vboxsync this directive do not dynamically create new child processes so
ef811bab708f967b28bcdb7897e82b5e101eb226vboxsync this number should be large enough to handle the requests for
ef811bab708f967b28bcdb7897e82b5e101eb226vboxsync the entire site.</p>
ef811bab708f967b28bcdb7897e82b5e101eb226vboxsync</usage>
ef811bab708f967b28bcdb7897e82b5e101eb226vboxsync</directivesynopsis>
ef811bab708f967b28bcdb7897e82b5e101eb226vboxsync
ef811bab708f967b28bcdb7897e82b5e101eb226vboxsync<directivesynopsis>
ef811bab708f967b28bcdb7897e82b5e101eb226vboxsync<name>ScoreBoardFile</name>
ef811bab708f967b28bcdb7897e82b5e101eb226vboxsync<description>Location of the file used to store coordination data for
ef811bab708f967b28bcdb7897e82b5e101eb226vboxsyncthe child processes</description>
ef811bab708f967b28bcdb7897e82b5e101eb226vboxsync<syntax>ScoreBoardFile <em>file-path</em></syntax>
ef811bab708f967b28bcdb7897e82b5e101eb226vboxsync<default>ScoreBoardFile logs/apache_status</default>
ef811bab708f967b28bcdb7897e82b5e101eb226vboxsync<contextlist><context>server config</context></contextlist>
ef811bab708f967b28bcdb7897e82b5e101eb226vboxsync<modulelist><module>worker</module><module>perchild</module>
ef811bab708f967b28bcdb7897e82b5e101eb226vboxsync<module>prefork</module></modulelist>
ef811bab708f967b28bcdb7897e82b5e101eb226vboxsync
ef811bab708f967b28bcdb7897e82b5e101eb226vboxsync<usage>
ef811bab708f967b28bcdb7897e82b5e101eb226vboxsync <p>Apache uses a scoreboard to communicate between its parent
ef811bab708f967b28bcdb7897e82b5e101eb226vboxsync and child processes. Some architectures require a file to facilitate
ef811bab708f967b28bcdb7897e82b5e101eb226vboxsync this communication. If the file is left unspecified, Apache first
ef811bab708f967b28bcdb7897e82b5e101eb226vboxsync attempts to create the scoreboard entirely in memory (using anonymous
58e8f2bc3ec5551ada61c45bda246a97e9a945c0vboxsync shared memory) and, failing that, will attempt to create the file on
ef811bab708f967b28bcdb7897e82b5e101eb226vboxsync disk (using file-based shared memory). Specifying this directive causes
ef811bab708f967b28bcdb7897e82b5e101eb226vboxsync Apache to always create the file on the disk.</p>
ef811bab708f967b28bcdb7897e82b5e101eb226vboxsync
ef811bab708f967b28bcdb7897e82b5e101eb226vboxsync <example><title>Example</title>
ef811bab708f967b28bcdb7897e82b5e101eb226vboxsync ScoreBoardFile /var/run/apache_status
ef811bab708f967b28bcdb7897e82b5e101eb226vboxsync </example>
ef811bab708f967b28bcdb7897e82b5e101eb226vboxsync
ef811bab708f967b28bcdb7897e82b5e101eb226vboxsync <p>File-based shared memory is useful for third-party applications
ef811bab708f967b28bcdb7897e82b5e101eb226vboxsync that require direct access to the scoreboard.</p>
ef811bab708f967b28bcdb7897e82b5e101eb226vboxsync
ef811bab708f967b28bcdb7897e82b5e101eb226vboxsync <p>If you use a <directive>ScoreBoardFile</directive> then
ef811bab708f967b28bcdb7897e82b5e101eb226vboxsync you may see improved speed by placing it on a RAM disk. But be
ef811bab708f967b28bcdb7897e82b5e101eb226vboxsync careful that you heed the same warnings about log file placement
ef811bab708f967b28bcdb7897e82b5e101eb226vboxsync and <a href="/misc/security_tips.html">security</a>.</p>
ef811bab708f967b28bcdb7897e82b5e101eb226vboxsync</usage>
ef811bab708f967b28bcdb7897e82b5e101eb226vboxsync<seealso><a
ef811bab708f967b28bcdb7897e82b5e101eb226vboxsync href="/stopping.html">Stopping and Restarting Apache</a></seealso>
ef811bab708f967b28bcdb7897e82b5e101eb226vboxsync</directivesynopsis>
ef811bab708f967b28bcdb7897e82b5e101eb226vboxsync
ef811bab708f967b28bcdb7897e82b5e101eb226vboxsync<directivesynopsis>
ef811bab708f967b28bcdb7897e82b5e101eb226vboxsync<name>SendBufferSize</name>
ef811bab708f967b28bcdb7897e82b5e101eb226vboxsync<description>TCP buffer size</description>
ef811bab708f967b28bcdb7897e82b5e101eb226vboxsync<syntax>SendBufferSize <em>bytes</em></syntax>
ef811bab708f967b28bcdb7897e82b5e101eb226vboxsync<contextlist><context>server config</context></contextlist>
ef811bab708f967b28bcdb7897e82b5e101eb226vboxsync<modulelist><module>worker</module><module>perchild</module>
ef811bab708f967b28bcdb7897e82b5e101eb226vboxsync<module>prefork</module><module>mpm_winnt</module>
ef811bab708f967b28bcdb7897e82b5e101eb226vboxsync</modulelist>
ef811bab708f967b28bcdb7897e82b5e101eb226vboxsync
ef811bab708f967b28bcdb7897e82b5e101eb226vboxsync<usage>
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync <p>The server will set the TCP buffer size to the number of bytes
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync specified. Very useful to increase past standard OS defaults on
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync high speed high latency (<em>i.e.</em>, 100ms or so, such as
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync transcontinental fast pipes).</p>
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync</usage>
27018c8fbf977d7c4f67758c674736ff1c78804fvboxsync</directivesynopsis>
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync
66ce29e79816b3397896b0a0b273a3a61e4ceb74vboxsync<directivesynopsis>
66ce29e79816b3397896b0a0b273a3a61e4ceb74vboxsync<name>ServerLimit</name>
432d08d68b9683d01880890d475a4cadd84b69cevboxsync<description>Upper limit on configurable number of processes</description>
432d08d68b9683d01880890d475a4cadd84b69cevboxsync<syntax>ServerLimit <em>number</em></syntax>
432d08d68b9683d01880890d475a4cadd84b69cevboxsync<default>ServerLimit 256 (prefork), ServerLimit 16 (worker)</default>
27018c8fbf977d7c4f67758c674736ff1c78804fvboxsync<contextlist><context>server config</context></contextlist>
353a4d1d78e3be140fa5ac56fbde62a413cb34c5vboxsync<modulelist><module>worker</module><module>prefork</module>
353a4d1d78e3be140fa5ac56fbde62a413cb34c5vboxsync</modulelist>
27018c8fbf977d7c4f67758c674736ff1c78804fvboxsync
27018c8fbf977d7c4f67758c674736ff1c78804fvboxsync<usage>
27018c8fbf977d7c4f67758c674736ff1c78804fvboxsync <p>For the <module>prefork</module> MPM, this directive sets the
27018c8fbf977d7c4f67758c674736ff1c78804fvboxsync maximum configured value for <directive
27018c8fbf977d7c4f67758c674736ff1c78804fvboxsync module="mpm_common">MaxClients</directive> for the lifetime of the
27018c8fbf977d7c4f67758c674736ff1c78804fvboxsync Apache process. For the worker MPM, this directive in combination
27018c8fbf977d7c4f67758c674736ff1c78804fvboxsync with <directive module="mpm_common">ThreadLimit</directive> sets
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync the maximum configured value for <directive
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync module="mpm_common">MaxClients</directive> for the lifetime of the
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync Apache process. Any attempts to change this directive during a
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync restart will be ignored, but <directive
27018c8fbf977d7c4f67758c674736ff1c78804fvboxsync module="mpm_common">MaxClients</directive> can be modified during
27018c8fbf977d7c4f67758c674736ff1c78804fvboxsync a restart.</p>
27018c8fbf977d7c4f67758c674736ff1c78804fvboxsync
27018c8fbf977d7c4f67758c674736ff1c78804fvboxsync <p>Special care must be taken when using this directive. If
27018c8fbf977d7c4f67758c674736ff1c78804fvboxsync <directive>ServerLimit</directive> is set to a value much higher
27018c8fbf977d7c4f67758c674736ff1c78804fvboxsync than necessary, extra, unused shared memory will be allocated. If
27018c8fbf977d7c4f67758c674736ff1c78804fvboxsync both <directive>ServerLimit</directive> and <directive
27018c8fbf977d7c4f67758c674736ff1c78804fvboxsync module="mpm_common">MaxClients</directive> are set to values
27018c8fbf977d7c4f67758c674736ff1c78804fvboxsync higher than the system can handle, Apache may not start or the
27018c8fbf977d7c4f67758c674736ff1c78804fvboxsync system may become unstable.</p>
27018c8fbf977d7c4f67758c674736ff1c78804fvboxsync
27018c8fbf977d7c4f67758c674736ff1c78804fvboxsync <p>With the <module>prefork</module> MPM, use this directive only
27018c8fbf977d7c4f67758c674736ff1c78804fvboxsync if you need to set <directive
27018c8fbf977d7c4f67758c674736ff1c78804fvboxsync module="mpm_common">MaxClients</directive> higher than 256.
27018c8fbf977d7c4f67758c674736ff1c78804fvboxsync Do not set the value of this directive any higher than what you
27018c8fbf977d7c4f67758c674736ff1c78804fvboxsync might want to set <directive
27018c8fbf977d7c4f67758c674736ff1c78804fvboxsync module="mpm_common">MaxClients</directive> to.</p>
27018c8fbf977d7c4f67758c674736ff1c78804fvboxsync
27018c8fbf977d7c4f67758c674736ff1c78804fvboxsync <p>With the <module>worker</module> MPM, use this directive only
27018c8fbf977d7c4f67758c674736ff1c78804fvboxsync if your <directive module="mpm_common">MaxClients</directive> and
27018c8fbf977d7c4f67758c674736ff1c78804fvboxsync <directive module="mpm_common">ThreadsPerChild</directive>
27018c8fbf977d7c4f67758c674736ff1c78804fvboxsync settings require more than 16 server processes. Do not set the
27018c8fbf977d7c4f67758c674736ff1c78804fvboxsync value of this directive any higher than the number of server
27018c8fbf977d7c4f67758c674736ff1c78804fvboxsync processes required by what you may want for <directive
27018c8fbf977d7c4f67758c674736ff1c78804fvboxsync module="mpm_common">MaxClients </directive> and <directive
27018c8fbf977d7c4f67758c674736ff1c78804fvboxsync module="mpm_common">ThreadsPerChild</directive>.</p>
27018c8fbf977d7c4f67758c674736ff1c78804fvboxsync</usage>
27018c8fbf977d7c4f67758c674736ff1c78804fvboxsync</directivesynopsis>
27018c8fbf977d7c4f67758c674736ff1c78804fvboxsync
27018c8fbf977d7c4f67758c674736ff1c78804fvboxsync<directivesynopsis>
27018c8fbf977d7c4f67758c674736ff1c78804fvboxsync<name>StartServers</name>
27018c8fbf977d7c4f67758c674736ff1c78804fvboxsync<description>Number of child server processes created at startup</description>
27018c8fbf977d7c4f67758c674736ff1c78804fvboxsync<syntax>StartServers <em>number</em></syntax>
27018c8fbf977d7c4f67758c674736ff1c78804fvboxsync<default>StartServers 5</default>
27018c8fbf977d7c4f67758c674736ff1c78804fvboxsync<contextlist><context>server config</context></contextlist>
27018c8fbf977d7c4f67758c674736ff1c78804fvboxsync<modulelist><module>worker</module></modulelist>
27018c8fbf977d7c4f67758c674736ff1c78804fvboxsync
27018c8fbf977d7c4f67758c674736ff1c78804fvboxsync<usage>
27018c8fbf977d7c4f67758c674736ff1c78804fvboxsync <p>The <directive>StartServers</directive> directive sets the
27018c8fbf977d7c4f67758c674736ff1c78804fvboxsync number of child server processes created on startup. As the number
27018c8fbf977d7c4f67758c674736ff1c78804fvboxsync of processes is dynamically controlled depending on the load,
27018c8fbf977d7c4f67758c674736ff1c78804fvboxsync there is usually little reason to adjust this parameter.</p>
27018c8fbf977d7c4f67758c674736ff1c78804fvboxsync</usage>
27018c8fbf977d7c4f67758c674736ff1c78804fvboxsync<seealso><directive module="mpm_common">MinSpareThreads</directive></seealso>
27018c8fbf977d7c4f67758c674736ff1c78804fvboxsync<seealso><directive module="mpm_common">MaxSpareThreads</directive></seealso>
27018c8fbf977d7c4f67758c674736ff1c78804fvboxsync</directivesynopsis>
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync<directivesynopsis>
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync<name>StartThreads</name>
1c2c968fd241148110002d75b2c0fdeddc211e14vboxsync<description>Nubmer of threads created on startup</description>
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync<syntax>StartThreads <em>number</em></syntax>
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync<contextlist><context>server config</context></contextlist>
aa0632eb844172ced4bef7b3afdbb216c8462fb2vboxsync<modulelist><module>mpm_netware</module><module>perchild</module></modulelist>
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync
66ce29e79816b3397896b0a0b273a3a61e4ceb74vboxsync<usage>
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync <p>Number of threads created on startup. As the
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync number of threads is dynamically controlled depending on the
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync load, there is usually little reason to adjust this
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync parameter.</p>
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync <p>For <module>perchild</module> the default is <code>StartThreads
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync 5</code> and this directive tracks the number of threads per
27018c8fbf977d7c4f67758c674736ff1c78804fvboxsync process at startup.</p>
27018c8fbf977d7c4f67758c674736ff1c78804fvboxsync
27018c8fbf977d7c4f67758c674736ff1c78804fvboxsync <p>For <module>mpm_netware</module> the default is
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync <code>StartThreads 50</code> and, since there is only a single
27018c8fbf977d7c4f67758c674736ff1c78804fvboxsync process, this is the total number of threads created at startup to
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync serve requests.</p>
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync
b9f5a22c6e86f7e09242c7483d8a67bd72f13a79vboxsync</usage>
b9f5a22c6e86f7e09242c7483d8a67bd72f13a79vboxsync</directivesynopsis>
b9f5a22c6e86f7e09242c7483d8a67bd72f13a79vboxsync
b9f5a22c6e86f7e09242c7483d8a67bd72f13a79vboxsync<directivesynopsis>
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync<name>ThreadLimit</name>
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync<description>Sets the upper limit on the configurable number of threads
bff1915a855c5b71d76f6391549eadda348e33b0vboxsyncper child process</description>
4298177987f623deb1268c06d3681510bc49a594vboxsync<syntax>ThreadLimit <em>number</em></syntax>
03aef08d59dd179fd178a35f445e731788896cabvboxsync<contextlist><context>server config</context></contextlist>
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync<modulelist><module>mpm_winnt</module><module>worker</module></modulelist>
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync
57b49c1557a310ee615bc0ee79dd2a2e92319a1bvboxsync<usage>
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync <p>This directive sets the maximum configured value for <directive
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync module="mpm_common">ThreadsPerChild</directive> for the lifetime
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync of the Apache process. Any attempts to change this directive
27018c8fbf977d7c4f67758c674736ff1c78804fvboxsync during a restart will be ignored, but <directive
27018c8fbf977d7c4f67758c674736ff1c78804fvboxsync module="mpm_common">ThreadsPerChild</directive> can be modified
27018c8fbf977d7c4f67758c674736ff1c78804fvboxsync during a restart up to the value of this directive.</p>
27018c8fbf977d7c4f67758c674736ff1c78804fvboxsync
27018c8fbf977d7c4f67758c674736ff1c78804fvboxsync <p>Special care must be taken when using this directive. If
27018c8fbf977d7c4f67758c674736ff1c78804fvboxsync <directive>ThreadLimit</directive> is set to a value much higher
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync than <directive module="mpm_common">ThreadsPerChild</directive>,
27018c8fbf977d7c4f67758c674736ff1c78804fvboxsync extra unused shared memory will be allocated. If both
27018c8fbf977d7c4f67758c674736ff1c78804fvboxsync <directive>ThreadLimit</directive> and <directive
27018c8fbf977d7c4f67758c674736ff1c78804fvboxsync module="mpm_common">ThreadsPerChild</directive> are set to values
27018c8fbf977d7c4f67758c674736ff1c78804fvboxsync higher than the system can handle, Apache may not start or the
27018c8fbf977d7c4f67758c674736ff1c78804fvboxsync system may become unstable. Do not set the value of this directive
27018c8fbf977d7c4f67758c674736ff1c78804fvboxsync any higher than your greatest predicted setting of <directive
27018c8fbf977d7c4f67758c674736ff1c78804fvboxsync module="mpm_common">ThreadsPerChild</directive> for the
27018c8fbf977d7c4f67758c674736ff1c78804fvboxsync current run of Apache.</p>
66ce29e79816b3397896b0a0b273a3a61e4ceb74vboxsync
27018c8fbf977d7c4f67758c674736ff1c78804fvboxsync <p>The default value for <directive>ThreadLimit</directive> is
27018c8fbf977d7c4f67758c674736ff1c78804fvboxsync 64 when used with <module>worker</module> and 1920 when used
83dc9ca94cd3c31dabc33a35b945de124d43aaeavboxsync with <module>mpm_winnt</module>.</p>
27018c8fbf977d7c4f67758c674736ff1c78804fvboxsync
27018c8fbf977d7c4f67758c674736ff1c78804fvboxsync</usage>
27018c8fbf977d7c4f67758c674736ff1c78804fvboxsync</directivesynopsis>
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync
ee500238ee905283df7fc73c4ab22fce70e1da62vboxsync<directivesynopsis>
ee500238ee905283df7fc73c4ab22fce70e1da62vboxsync<name>ThreadsPerChild</name>
27ff3359094d10df126ef7c1009920d3a94d5bb7vboxsync<description>Number of threads created by each child process</description>
27ff3359094d10df126ef7c1009920d3a94d5bb7vboxsync<syntax>ThreadsPerChild <em>number</em></syntax>
66ce29e79816b3397896b0a0b273a3a61e4ceb74vboxsync<contextlist><context>server config</context></contextlist>
66ce29e79816b3397896b0a0b273a3a61e4ceb74vboxsync<modulelist><module>worker</module><module>mpm_winnt</module>
27018c8fbf977d7c4f67758c674736ff1c78804fvboxsync</modulelist>
27018c8fbf977d7c4f67758c674736ff1c78804fvboxsync
27018c8fbf977d7c4f67758c674736ff1c78804fvboxsync<usage>
27018c8fbf977d7c4f67758c674736ff1c78804fvboxsync <p>This directive sets the number of threads created by each
27018c8fbf977d7c4f67758c674736ff1c78804fvboxsync child process. The child creates these threads at startup and
27018c8fbf977d7c4f67758c674736ff1c78804fvboxsync never creates more. If using an MPM like mpmt_winnt, where
27018c8fbf977d7c4f67758c674736ff1c78804fvboxsync there is only one child process, this number should be high
27018c8fbf977d7c4f67758c674736ff1c78804fvboxsync enough to handle the entire load of the server. If using an MPM
27018c8fbf977d7c4f67758c674736ff1c78804fvboxsync like worker, where there are multiple child processes, the
27018c8fbf977d7c4f67758c674736ff1c78804fvboxsync total number of threads should be high enough to handle the
27018c8fbf977d7c4f67758c674736ff1c78804fvboxsync common load on the server.</p>
27018c8fbf977d7c4f67758c674736ff1c78804fvboxsync
27018c8fbf977d7c4f67758c674736ff1c78804fvboxsync <p>The default value for this directive is 25 when used with
27018c8fbf977d7c4f67758c674736ff1c78804fvboxsync <module>worker</module> and 64 when used with
27018c8fbf977d7c4f67758c674736ff1c78804fvboxsync <module>mpm_winnt</module>.</p>
27018c8fbf977d7c4f67758c674736ff1c78804fvboxsync
27018c8fbf977d7c4f67758c674736ff1c78804fvboxsync</usage>
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync</directivesynopsis>
27018c8fbf977d7c4f67758c674736ff1c78804fvboxsync
27018c8fbf977d7c4f67758c674736ff1c78804fvboxsync<directivesynopsis>
27018c8fbf977d7c4f67758c674736ff1c78804fvboxsync<name>User</name>
27018c8fbf977d7c4f67758c674736ff1c78804fvboxsync<description>The userid under which the server will answer
27018c8fbf977d7c4f67758c674736ff1c78804fvboxsyncrequests</description>
27018c8fbf977d7c4f67758c674736ff1c78804fvboxsync<syntax>User <em>unix-userid</em></syntax>
27018c8fbf977d7c4f67758c674736ff1c78804fvboxsync<default>User #-1</default>
27018c8fbf977d7c4f67758c674736ff1c78804fvboxsync<contextlist><context>server config</context><context>virtual host</context>
27018c8fbf977d7c4f67758c674736ff1c78804fvboxsync</contextlist>
27018c8fbf977d7c4f67758c674736ff1c78804fvboxsync<modulelist><module>worker</module><module>perchild</module>
27018c8fbf977d7c4f67758c674736ff1c78804fvboxsync<module>prefork</module></modulelist>
27018c8fbf977d7c4f67758c674736ff1c78804fvboxsync
27018c8fbf977d7c4f67758c674736ff1c78804fvboxsync<usage>
83dc9ca94cd3c31dabc33a35b945de124d43aaeavboxsync <p>The <directive>User</directive> directive sets the userid as
83dc9ca94cd3c31dabc33a35b945de124d43aaeavboxsync which the server will answer requests. In order to use this
83dc9ca94cd3c31dabc33a35b945de124d43aaeavboxsync directive, the standalone server must be run initially as
83dc9ca94cd3c31dabc33a35b945de124d43aaeavboxsync root. <em>Unix-userid</em> is one of:</p>
27018c8fbf977d7c4f67758c674736ff1c78804fvboxsync
27018c8fbf977d7c4f67758c674736ff1c78804fvboxsync <dl>
bff1915a855c5b71d76f6391549eadda348e33b0vboxsync <dt>A username</dt>
27018c8fbf977d7c4f67758c674736ff1c78804fvboxsync
57b49c1557a310ee615bc0ee79dd2a2e92319a1bvboxsync <dd>Refers to the given user by name.</dd>
27018c8fbf977d7c4f67758c674736ff1c78804fvboxsync
27018c8fbf977d7c4f67758c674736ff1c78804fvboxsync <dt># followed by a user number.</dt>
27018c8fbf977d7c4f67758c674736ff1c78804fvboxsync
27018c8fbf977d7c4f67758c674736ff1c78804fvboxsync <dd>Refers to a user by their number.</dd>
27018c8fbf977d7c4f67758c674736ff1c78804fvboxsync </dl>
27018c8fbf977d7c4f67758c674736ff1c78804fvboxsync
aa0632eb844172ced4bef7b3afdbb216c8462fb2vboxsync <p>The user should have no privileges that result in it being
27018c8fbf977d7c4f67758c674736ff1c78804fvboxsync able to access files that are not intended to be visible to the
27018c8fbf977d7c4f67758c674736ff1c78804fvboxsync outside world, and similarly, the user should not be able to
27018c8fbf977d7c4f67758c674736ff1c78804fvboxsync execute code that is not meant for httpd requests. It is
27018c8fbf977d7c4f67758c674736ff1c78804fvboxsync recommended that you set up a new user and group specifically for
66ce29e79816b3397896b0a0b273a3a61e4ceb74vboxsync running the server. Some admins use user <code>nobody</code>, but
66ce29e79816b3397896b0a0b273a3a61e4ceb74vboxsync this is not always desirable, since the <code>nobody</code> user
66ce29e79816b3397896b0a0b273a3a61e4ceb74vboxsync can have other uses on the system.</p>
27018c8fbf977d7c4f67758c674736ff1c78804fvboxsync
27018c8fbf977d7c4f67758c674736ff1c78804fvboxsync <p>Notes: If you start the server as a non-root user, it will
27018c8fbf977d7c4f67758c674736ff1c78804fvboxsync fail to change to the lesser privileged user, and will instead
27018c8fbf977d7c4f67758c674736ff1c78804fvboxsync continue to run as that original user. If you do start the
27018c8fbf977d7c4f67758c674736ff1c78804fvboxsync server as root, then it is normal for the parent process to
27018c8fbf977d7c4f67758c674736ff1c78804fvboxsync remain running as root.</p>
27018c8fbf977d7c4f67758c674736ff1c78804fvboxsync
27018c8fbf977d7c4f67758c674736ff1c78804fvboxsync <p>Special note: Use of this directive in <directive module="core"
27018c8fbf977d7c4f67758c674736ff1c78804fvboxsync type="section">VirtualHost</directive> is no longer supported. To
27018c8fbf977d7c4f67758c674736ff1c78804fvboxsync configure your server for <a href="mod_suexec.html">suexec</a> use
27018c8fbf977d7c4f67758c674736ff1c78804fvboxsync <directive module="mod_suexec">SuexecUserGroup</directive>.</p>
27018c8fbf977d7c4f67758c674736ff1c78804fvboxsync
27018c8fbf977d7c4f67758c674736ff1c78804fvboxsync<note><title>Security</title> <p>Don't set <directive>User</directive>
27018c8fbf977d7c4f67758c674736ff1c78804fvboxsync(or <directive module="mpm_common">Group</directive>) to
27018c8fbf977d7c4f67758c674736ff1c78804fvboxsync<code>root</code> unless you know exactly what you are doing, and what
27018c8fbf977d7c4f67758c674736ff1c78804fvboxsyncthe dangers are.</p></note>
27018c8fbf977d7c4f67758c674736ff1c78804fvboxsync</usage>
27018c8fbf977d7c4f67758c674736ff1c78804fvboxsync</directivesynopsis>
27018c8fbf977d7c4f67758c674736ff1c78804fvboxsync
27018c8fbf977d7c4f67758c674736ff1c78804fvboxsync</modulesynopsis>
27018c8fbf977d7c4f67758c674736ff1c78804fvboxsync