📄 mpm_common.html.en
字号:
</table> <p>Minimum number of idle threads to handle request spikes. Different MPMs deal with this directive differently.</p> <p><code class="module"><a href="../mod/perchild.html">perchild</a></code> uses a default of <code>MinSpareThreads 5</code> and monitors 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. Thus, if you set <code class="directive"><a href="../mod/perchild.html#numservers">NumServers</a></code> to <code>10</code> and a <code class="directive">MinSpareThreads</code> value of <code>5</code>, you'll have at least 50 idle threads on your system.</p> <p><code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/leader.html">leader</a></code> and <code class="module"><a href="../mod/threadpool.html">threadpool</a></code> use a default of <code>MinSpareThreads 75</code> and deal 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> <p><code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code> uses a default of <code>MinSpareThreads 10</code> and, since it is a single-process MPM, tracks this on a server-wide bases.</p> <p><code class="module"><a href="../mod/beos.html">beos</a></code> and <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code> work similar to <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>. The default for <code class="module"><a href="../mod/beos.html">beos</a></code> is <code>MinSpareThreads 1</code>. For <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code> the default value is <code>5</code>.</p><h3>See also</h3><ul><li><code class="directive"><a href="#maxsparethreads">MaxSpareThreads</a></code></li><li><code class="directive"><a href="#startservers">StartServers</a></code></li></ul></div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div><div class="directive-section"><h2><a name="PidFile" id="PidFile">PidFile</a> <a name="pidfile" id="pidfile">Directive</a></h2><table class="directive"><tr><th><a href="directive-dict.html#Description">Description:</a></th><td>File where the server records the process IDof the daemon</td></tr><tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>PidFile <var>filename</var></code></td></tr><tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>PidFile logs/httpd.pid</code></td></tr><tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr><tr><th><a href="directive-dict.html#Status">Status:</a></th><td>MPM</td></tr><tr><th><a href="directive-dict.html#Module">Module:</a></th><td><code class="module"><a href="../mod/beos.html">beos</a></code>, <code class="module"><a href="../mod/leader.html">leader</a></code>, <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code>, <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code>, <code class="module"><a href="../mod/perchild.html">perchild</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code>, <code class="module"><a href="../mod/threadpool.html">threadpool</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code></td></tr></table> <p>The <code class="directive">PidFile</code> directive sets the file to which the server records the process id of the daemon. If the filename is not absolute then it is assumed to be relative to the <code class="directive"><a href="../mod/core.html#serverroot">ServerRoot</a></code>.</p> <div class="example"><h3>Example</h3><p><code> PidFile /var/run/apache.pid </code></p></div> <p>It is often useful to be able to send the server a signal, so that it closes and then re-opens its <code class="directive"><a href="../mod/core.html#errorlog">ErrorLog</a></code> and <code class="directive"><a href="../mod/mod_log_config.html#transferlog">TransferLog</a></code>, and re-reads its configuration files. This is done by sending a SIGHUP (kill -1) signal to the process id listed in the <code class="directive">PidFile</code>.</p> <p>The <code class="directive">PidFile</code> is subject to the same warnings about log file placement and <a href="../misc/security_tips.html#serverroot">security</a>.</p> <div class="note"><h3>Note</h3> <p>As of Apache 2 it is recommended to use only the <code class="program"><a href="../programs/apachectl.html">apachectl</a></code> script for (re-)starting or stopping the server.</p> </div></div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div><div class="directive-section"><h2><a name="ScoreBoardFile" id="ScoreBoardFile">ScoreBoardFile</a> <a name="scoreboardfile" id="scoreboardfile">Directive</a></h2><table class="directive"><tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Location of the file used to store coordination data forthe child processes</td></tr><tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ScoreBoardFile <var>file-path</var></code></td></tr><tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>ScoreBoardFile logs/apache_status</code></td></tr><tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr><tr><th><a href="directive-dict.html#Status">Status:</a></th><td>MPM</td></tr><tr><th><a href="directive-dict.html#Module">Module:</a></th><td><code class="module"><a href="../mod/beos.html">beos</a></code>, <code class="module"><a href="../mod/leader.html">leader</a></code>, <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code>, <code class="module"><a href="../mod/perchild.html">perchild</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code>, <code class="module"><a href="../mod/threadpool.html">threadpool</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code></td></tr></table> <p>Apache uses a scoreboard to communicate between its parent and child processes. Some architectures require a file to facilitate this communication. If the file is left unspecified, Apache first attempts to create the scoreboard entirely in memory (using anonymous shared memory) and, failing that, will attempt to create the file on disk (using file-based shared memory). Specifying this directive causes Apache to always create the file on the disk.</p> <div class="example"><h3>Example</h3><p><code> ScoreBoardFile /var/run/apache_status </code></p></div> <p>File-based shared memory is useful for third-party applications that require direct access to the scoreboard.</p> <p>If you use a <code class="directive">ScoreBoardFile</code> 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><h3>See also</h3><ul><li><a href="../stopping.html">Stopping and RestartingApache</a></li></ul></div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div><div class="directive-section"><h2><a name="SendBufferSize" id="SendBufferSize">SendBufferSize</a> <a name="sendbuffersize" id="sendbuffersize">Directive</a></h2><table class="directive"><tr><th><a href="directive-dict.html#Description">Description:</a></th><td>TCP buffer size</td></tr><tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>SendBufferSize <var>bytes</var></code></td></tr><tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>SendBufferSize 0</code></td></tr><tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr><tr><th><a href="directive-dict.html#Status">Status:</a></th><td>MPM</td></tr><tr><th><a href="directive-dict.html#Module">Module:</a></th><td><code class="module"><a href="../mod/beos.html">beos</a></code>, <code class="module"><a href="../mod/leader.html">leader</a></code>, <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>, <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code>, <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code>, <code class="module"><a href="../mod/perchild.html">perchild</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code>, <code class="module"><a href="../mod/threadpool.html">threadpool</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code></td></tr></table> <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> <p>If set to the value of <code>0</code>, the server will use the OS deault.</p></div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div><div class="directive-section"><h2><a name="ServerLimit" id="ServerLimit">ServerLimit</a> <a name="serverlimit" id="serverlimit">Directive</a></h2><table class="directive"><tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Upper limit on configurable number of processes</td></tr><tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ServerLimit <var>number</var></code></td></tr><tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>See usage for details</code></td></tr><tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr><tr><th><a href="directive-dict.html#Status">Status:</a></th><td>MPM</td></tr><tr><th><a href="directive-dict.html#Module">Module:</a></th><td><code class="module"><a href="../mod/leader.html">leader</a></code>, <code class="module"><a href="../mod/perchild.html">perchild</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code>, <code class="module"><a href="../mod/threadpool.html">threadpool</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code></td></tr></table> <p>For the <code class="module"><a href="../mod/prefork.html">prefork</a></code> MPM, this directive sets the maximum configured value for <code class="directive"><a href="#maxclients">MaxClients</a></code> for the lifetime of the Apache process. For the <code class="module"><a href="../mod/worker.html">worker</a></code> MPM, this directive in combination with <code class="directive"><a href="#threadlimit">ThreadLimit</a></code> sets the maximum configured value for <code class="directive"><a href="#maxclients">MaxClients</a></code> for the lifetime of the Apache process. Any attempts to change this directive during a restart will be ignored, but <code class="directive"><a href="#maxclients">MaxClients</a></code> can be modified during a restart.</p> <p>Special care must be taken when using this directive. If <code class="directive">ServerLimit</code> is set to a value much higher than necessary, extra, unused shared memory will be allocated. If both <code class="directive">ServerLimit</code> and <code class="directive"><a href="#maxclients">MaxClients</a></code> are set to values higher than the system can handle, Apache may not start or the system may become unstable.</p> <p>With the <code class="module"><a href="../mod/prefork.html">prefork</a></code> MPM, use this directive only if you need to set <code class="directive"><a href="#maxclients">MaxClients</a></code> higher than 256 (default). Do not set the value of this directive any higher than what you might want to set <code class="directive"><a href="#maxclients">MaxClients</a></code> to.</p> <p>With <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/leader.html">leader</a></code> and <code class="module"><a href="../mod/threadpool.html">threadpool</a></code> use this directive only if your <code class="directive"><a href="#maxclients">MaxClients</a></code> and <code class="directive"><a href="#threadsperchild">ThreadsPerChild</a></code> settings require more than 16 server processes (default). Do not set the value of this directive any higher than the number of server processes required by what you may want for <code class="directive"><a href="#maxclients ">MaxClients </a></code> and <code class="directive"><a href="#threadsperchild">ThreadsPerChild</a></code>.</p> <p>With the <code class="module"><a href="../mod/perchild.html">perchild</a></code> MPM, use this directive only if you need to set <code class="directive"><a href="../mod/perchild.html#numservers">NumServers</a></code> higher than 8 (default).</p> <div class="note"><h3>Note</h3> <p>There is a hard limit of <code>ServerLimit 20000</code> compiled into the server. This is intended to avoid nasty effects caused by typos.</p> </div><h3>See also</h3>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -