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>