slive 00/11/18 21:02:37
Modified: htdocs/manual/mod index.html prefork.html mpmt_pthread.html mpm_common.html Added: htdocs/manual/mod dexter.html Log: Woops, I just discovere UNIX_DAEMON_COMMANDS and LISTEN_COMMANDS. Add in those directives and dexter. Revision Changes Path 1.42 +5 -0 httpd-docs-2.0/htdocs/manual/mod/index.html Index: index.html =================================================================== RCS file: /home/cvs/httpd-docs-2.0/htdocs/manual/mod/index.html,v retrieving revision 1.41 retrieving revision 1.42 diff -u -d -b -u -r1.41 -r1.42 --- index.html 2000/11/17 19:29:59 1.41 +++ index.html 2000/11/19 05:02:36 1.42 @@ -29,9 +29,14 @@ <DL> <DT><A HREF="core.html">Core</A> <DD>Core Apache features. +<DT><a href="dexter.html">dexter</a> +<DD>Multi-Processing Model with Threading via Pthreads; Fixed number +of processes, variable number of threads/child <DT><A HREF="mpmt_pthread.html">mpmt_pthread</A> <DD>Multi-Processing Model with Threading via Pthreads; Variable number of processes, constant number of threads/child +<DT><a href="prefork.html">prefork</a> +<DD>Non-threaded preforking processes model similar to Apache 1.3. </DL> <h2>Other Modules</h2> 1.2 +6 -1 httpd-docs-2.0/htdocs/manual/mod/prefork.html Index: prefork.html =================================================================== RCS file: /home/cvs/httpd-docs-2.0/htdocs/manual/mod/prefork.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -b -u -r1.1 -r1.2 --- prefork.html 2000/11/19 04:24:18 1.1 +++ prefork.html 2000/11/19 05:02:36 1.2 @@ -45,17 +45,22 @@ <H2>Directives</H2> <UL> <li><a href="mpm_common.html#coredumpdirectory">CoreDumpDirectory</a></li> +<li><a href="mpm_common.html#group">Group</a></li> <li><a href="mpm_common.html#pidfile">PidFile</a></li> +<li><a href="mpm_common.html#listen">Listen</a></li> +<li><a href="mpm_common.html#listenbacklog">ListenBacklog</a></li> <li><a href="mpm_common.html#lockfile">LockFile</a></li> <li><a href="mpm_common.html#maxclients">MaxClients</a></li> <li><a href="mpm_common.html#maxrequestsperchild">MaxRequestsPerChild</a></li> <li><a href="#maxsparethreads">MaxSpareServers</a></li> <li><a href="#minsparethreads">MinSpareServers</a></li> <li><a href="mpm_common.html#scoreboardfile">ScoreBoardFile</a></li> +<li><a href="mpm_common.html#sendbuffersize">SendBufferSize</a></li> <li><a href="mpm_common.html#startservers">StartServers</a></li> +<li><a href="mpm_common.html#user">User</a></li> </UL> -<hr> +<p><hr> <H2><A NAME="maxspareservers">MaxSpareServers directive</A></H2> 1.3 +5 -0 httpd-docs-2.0/htdocs/manual/mod/mpmt_pthread.html Index: mpmt_pthread.html =================================================================== RCS file: /home/cvs/httpd-docs-2.0/htdocs/manual/mod/mpmt_pthread.html,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -b -u -r1.2 -r1.3 --- mpmt_pthread.html 2000/11/19 04:24:17 1.2 +++ mpmt_pthread.html 2000/11/19 05:02:36 1.3 @@ -48,15 +48,20 @@ <H2>Directives</H2> <UL> <li><a href="mpm_common.html#coredumpdirectory">CoreDumpDirectory</a></li> +<li><a href="mpm_common.html#group">Group</a></li> <li><a href="mpm_common.html#pidfile">PidFile</a></li> +<li><a href="mpm_common.html#listen">Listen</a></li> +<li><a href="mpm_common.html#listenbacklog">ListenBacklog</a></li> <li><a href="mpm_common.html#lockfile">LockFile</a></li> <li><a href="mpm_common.html#maxclients">MaxClients</a></li> <li><a href="mpm_common.html#maxrequestsperchild">MaxRequestsPerChild</a></li> <li><a href="mpm_common.html#maxsparethreads">MaxSpareThreads</a></li> <li><a href="mpm_common.html#minsparethreads">MinSpareThreads</a></li> <li><a href="mpm_common.html#scoreboardfile">ScoreBoardFile</a></li> +<li><a href="mpm_common.html#sendbuffersize">SendBufferSize</a></li> <li><a href="mpm_common.html#startservers">StartServers</a></li> <li><a href="mpm_common.html#threadsperchild">ThreadsPerChild</a></li> +<li><a href="mpm_common.html#user">User</a></li> </UL> <!--#include virtual="footer.html" --> 1.2 +246 -2 httpd-docs-2.0/htdocs/manual/mod/mpm_common.html Index: mpm_common.html =================================================================== RCS file: /home/cvs/httpd-docs-2.0/htdocs/manual/mod/mpm_common.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -b -u -r1.1 -r1.2 --- mpm_common.html 2000/11/19 04:24:17 1.1 +++ mpm_common.html 2000/11/19 05:02:36 1.2 @@ -23,15 +23,20 @@ <H2>Directives</H2> <UL> <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="#minsparethreads">MinSpareThreads</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="#threadsperchild">ThreadsPerChild</a></li> +<li><a href="#user">User</a></li> </UL> <HR> @@ -65,6 +70,57 @@ 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 <?INDEX {\tt Group} directive> --> +<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> mpmt_pthread, 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 <VirtualHost> requires a +properly configured <A HREF="../suexec.html">suEXEC wrapper</A>. +When used inside a <VirtualHost> in this manner, only the group +that CGIs are run as is affected. Non-CGI requests are still processed +as the group specified in the main Group directive.<P> + +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 <?INDEX {\tt PidFile} directive> --> <p><A @@ -102,9 +158,107 @@ <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> -<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> mpmt_pthread, prefork</p> + + +<P>The Listen directive instructs Apache to listen to more than one IP +address or port; by default it responds to requests on all IP +interfaces, but only on the port given by the <CODE><A +HREF="#port">Port</A></CODE> directive.</P> + +<TT>Listen</TT> can be used instead of <TT><A +HREF="#bindaddress">BindAddress</A></TT> and <TT>Port</TT>. It tells +the server to accept incoming requests on the specified port or +address-and-port combination. If the first format is used, with a port +number only, 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> + Listen 80 + Listen 8000 +</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> mpmt_pthread, prefork</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 @@ -348,6 +502,32 @@ <P><HR> +<H2><A NAME="sendbuffersize">SendBufferSize directive</A></H2> +<!--%plaintext <?INDEX {\tt SendBufferSize} directive> --> +<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> mpmt_pthread, prefork</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 <?INDEX {\tt StartServers} directive> --> <p><A @@ -394,7 +574,7 @@ <A HREF="directive-dict.html#Status" REL="Help" -><STRONG>Status:</STRONG></A> Base<BR> +><STRONG>Status:</STRONG></A> MPM<BR> <A HREF="directive-dict.html#Module" REL="Help" @@ -403,6 +583,70 @@ <P>This directive sets the number of threads created by each child process.</p> +<p><hr> + + +<H2><A NAME="user">User directive</A></H2> +<!--%plaintext <?INDEX {\tt User} directive> --> +<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#Compatibility" + REL="Help" +><STRONG>Compatibility:</STRONG></A> Removed in version 2.0.<P> +<A + HREF="directive-dict.html#Module" + REL="Help" +><STRONG>Module:</STRONG></A> mpmt_pthread, 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 the <A HREF="mod_proxy.html#cacheroot"><CODE>CacheRoot</CODE> +directive</A>).<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 <VirtualHost> requires a +properly configured <A HREF="../suexec.html">suEXEC wrapper</A>. +When used inside a <VirtualHost> in this manner, only the user +that CGIs are run as is affected. Non-CGI requests are still processed +with the user specified in the main User directive.<P> + +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><HR> <!--#include virtual="footer.html" --> </BODY> 1.1 httpd-docs-2.0/htdocs/manual/mod/dexter.html Index: dexter.html =================================================================== <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> <HTML> <HEAD> <TITLE>Apache MPM mpmt_pthread</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 mpmt_pthread</H1> <P> This Multi-Processing Module controls process and thread creation using the pthread interface. </P> <P><A HREF="module-dict.html#Status" REL="Help" ><STRONG>Status:</STRONG></A> MPM <BR> <A HREF="module-dict.html#SourceFile" REL="Help" ><STRONG>Source File:</STRONG></A> mpmt_pthread.c <BR> <A HREF="module-dict.html#ModuleIdentifier" REL="Help" ><STRONG>Module Identifier:</STRONG></A> mpm_mpmt_pthread_module </P> <H2>Summary</H2> <p>This Multi-Processing Module (MPM) is the default for most unix-like operating systems. It uses pthread system calls to create a hybrid multi-process multi-threaded server. The server starts a fixed number of processes. The server adjusts to handle load by increasing or decreasing the number of threads.</p> <H2>Directives</H2> <UL> <li><a href="#connectionstatus">ConnectionStatus</a></li> <li><a href="mpm_common.html#coredumpdirectory">CoreDumpDirectory</a></li> <li><a href="mpm_common.html#group">Group</a></li> <li><a href="mpm_common.html#pidfile">PidFile</a></li> <li><a href="mpm_common.html#listen">Listen</a></li> <li><a href="mpm_common.html#listenbacklog">ListenBacklog</a></li> <li><a href="mpm_common.html#lockfile">LockFile</a></li> <li><a href="mpm_common.html#maxrequestsperchild">MaxRequestsPerChild</a></li> <li><a href="mpm_common.html#maxsparethreads">MaxSpareThreads</a></li> <li><a href="mpm_common.html#minsparethreads">MinSpareThreads</a></li> <li><a href="#numservers">NumServers</a></li> <li><a href="mpm_common.html#scoreboardfile">ScoreBoardFile</a></li> <li><a href="mpm_common.html#sendbuffersize">SendBufferSize</a></li> <li><a href="#startthreads">StartThreads</a></li> <li><a href="mpm_common.html#user">User</a></li> </UL> <H2><A NAME="connectionstatus">ConnectionStatus directive</A></H2> <p><A HREF="directive-dict.html#Syntax" REL="Help" ><STRONG>Syntax:</STRONG></A> <A HREF="directive-dict.html#Default" REL="Help" ><STRONG>Default:</STRONG></A> <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<P> <A HREF="directive-dict.html#Module" REL="Help" ><STRONG>Module:</STRONG></A> dexter</p> <p>Whether or not to maintain status information on current connections</p> <p><hr></p> <H2><A NAME="numservers">NumServers directive</A></H2> <p><A HREF="directive-dict.html#Syntax" REL="Help" ><STRONG>Syntax:</STRONG></A> <A HREF="directive-dict.html#Default" REL="Help" ><STRONG>Default:</STRONG></A> <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<P> <A HREF="directive-dict.html#Module" REL="Help" ><STRONG>Module:</STRONG></A> dexter</p> <p>Number of children alive at the same time.</p> <p><hr></p> <H2><A NAME="startthreads">StartThreads directive</A></H2> <p><A HREF="directive-dict.html#Syntax" REL="Help" ><STRONG>Syntax:</STRONG></A> <A HREF="directive-dict.html#Default" REL="Help" ><STRONG>Default:</STRONG></A> <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<P> <A HREF="directive-dict.html#Module" REL="Help" ><STRONG>Module:</STRONG></A> dexter</p> <p>Number of threads each child creates.</p> <!--#include virtual="footer.html" --> </BODY> </HTML>