From 7e81dd29256c648e31cdee1953121d36a12e7e39 Mon Sep 17 00:00:00 2001 From: Andre Malo Date: Sun, 22 Dec 2002 23:05:47 +0000 Subject: [PATCH] update transformation git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@98077 13f79535-47bb-0310-9956-ffa450edef68 --- docs/manual/mod/beos.html.en | 95 +++++ docs/manual/mod/core.html.en | 2 +- docs/manual/mod/directives.html.en | 12 +- docs/manual/mod/index.html.en | 29 +- docs/manual/mod/leader.html.en | 79 ++++ docs/manual/mod/mpm_common.html.en | 480 ++++++++++++++++--------- docs/manual/mod/mpm_netware.html.en | 27 +- docs/manual/mod/mpm_winnt.html.en | 5 +- docs/manual/mod/mpmt_os2.html.en | 67 ++++ docs/manual/mod/perchild.html.en | 228 ++++++++---- docs/manual/mod/prefork.html.en | 78 +--- docs/manual/mod/quickreference.html.en | 309 ++++++++-------- docs/manual/mod/threadpool.html.en | 74 ++++ docs/manual/mod/worker.html.en | 8 +- docs/manual/sitemap.html.en | 70 +++- 15 files changed, 1073 insertions(+), 490 deletions(-) create mode 100644 docs/manual/mod/beos.html.en create mode 100644 docs/manual/mod/leader.html.en create mode 100644 docs/manual/mod/mpmt_os2.html.en create mode 100644 docs/manual/mod/threadpool.html.en diff --git a/docs/manual/mod/beos.html.en b/docs/manual/mod/beos.html.en new file mode 100644 index 0000000000..2a632bd215 --- /dev/null +++ b/docs/manual/mod/beos.html.en @@ -0,0 +1,95 @@ + + + +beos - Apache HTTP Server + + + + + + +
<-
+
+Apache > HTTP Server > Documentation > Version 2.1 > Modules
+
+

Apache MPM beos

+ + + +
Description:This Multi-Processing Module is optimized for BeOS.
Status:MPM
Module Identifier:mpm_beos_module
Source File:beos.c
+

Summary

+ +

This Multi-Processing Module (MPM) is the default for BeOS. It uses + a single control process creates threads to handle requests.

+
+ + +
top
+

MaxRequestsPerThread Directive

+ + + + + + + +
Description:Limit on the number of requests that an individual thread +will handle during its life
Syntax:MaxRequestsPerThread number
Default:MaxRequestsPerThread 0
Context:server config
Status:MPM
Module:beos
+

The MaxRequestsPerThread directive sets + the limit on the number of requests that an individual server thread + will handle. After MaxRequestsPerThread + requests, the thread will die. If MaxRequestsPerThread is 0, then the thread + will never expire.

+ +

Setting MaxRequestsPerThread to a + non-zero limit has two beneficial effects:

+ +
    +
  • it limits the amount of memory that a thread can consume + by (accidental) memory leakage;
  • + +
  • by giving threads a finite lifetime, it helps reduce + the number of threads when the server load reduces.
  • +
+ +

Note:

+

For KeepAlive requests, only + the first request is counted towards this limit. In effect, it + changes the behavior to limit the number of connections + per thread.

+
+ +
+
+ + \ No newline at end of file diff --git a/docs/manual/mod/core.html.en b/docs/manual/mod/core.html.en index 46b0db3618..6b916a8238 100644 --- a/docs/manual/mod/core.html.en +++ b/docs/manual/mod/core.html.en @@ -19,7 +19,7 @@
Apache > HTTP Server > Documentation > Version 2.1 > Modules
-

Apache Module core

+

Apache Core Features

Description:Core Apache HTTP Server features that are always available
Status:Core
diff --git a/docs/manual/mod/directives.html.en b/docs/manual/mod/directives.html.en index cd840911f1..91c2d9c58f 100644 --- a/docs/manual/mod/directives.html.en +++ b/docs/manual/mod/directives.html.en @@ -34,7 +34,7 @@

 A  |  B  |  C  |  D  |  E  |  F  |  G  |  H  |  I  |  K  |  L  |  M  |  N  |  O  |  P  |  R  |  S  |  T  |  U  |  V  |  X 

<-

Module Index

Below is a list of all of the modules that come as part of @@ -25,21 +25,34 @@ directives.

+
top

Core Features and Multi-Processing Modules

core
Core Apache HTTP Server features that are always available
-
mpm_common
A collection of directives that are implemented by +
mpm_common
A collection of directives that are implemented by more than one multi-processing module (MPM)
+
beos
This Multi-Processing Module is optimized for BeOS.
+
leader
An experimental variant of the standard worker +MPM
mpm_netware
Multi-Processing Module implementing an exclusively threaded web server optimized for Novell NetWare
-
mpm_winnt
This Multi-Processing Module is optimized for Windows - NT.
-
perchild
Multi-Processing Module allowing for daemon processes - serving requests to be assigned a variety of different - userids
+
mpmt_os2
Hybrid multi-process, multi-threaded MPM for OS/2
+
perchild
Multi-Processing Module allowing for daemon processes serving +requests to be assigned a variety of different userids
prefork
Implements a non-threaded, pre-forking web server
+
threadpool
Yet another experimental variant of the standard +worker MPM
+
mpm_winnt
This Multi-Processing Module is optimized for Windows +NT.
worker
Multi-Processing Module implementing a hybrid multi-threaded multi-process web server
@@ -144,7 +157,7 @@ identifier for each request
mod_vhost_alias
Provides for dynamically configured mass virtual hosting
-
+
diff --git a/docs/manual/mod/leader.html.en b/docs/manual/mod/leader.html.en new file mode 100644 index 0000000000..9d52340191 --- /dev/null +++ b/docs/manual/mod/leader.html.en @@ -0,0 +1,79 @@ + + + +leader - Apache HTTP Server + + + + + + +
<-
+
+Apache > HTTP Server > Documentation > Version 2.1 > Modules
+
+

Apache MPM leader

+ + + +
Description:An experimental variant of the standard worker +MPM
Status:MPM
Module Identifier:mpm_leader_module
Source File:leader.c
+

Summary

+ +

Warning

+

This MPM is experimental, so it may or may not work + as expected.

+
+ +

This is an experimental variant of the standard + worker MPM. It uses a Leader/Followers design pattern + to coordinate work among threads. For more info, see http://deuce.doc.wustl.edu/doc/pspdfs/lf.pdf.

+ +

To use the leader MPM, add + --with-mpm=leader to the configure script's arguments + when building the httpd.

+ +

This MPM depends on APR's atomic compare-and-swap operations for + thread synchronization. If you are compiling for an x86 target + and you don't need to support 386s, or you are compiling for a + SPARC and you don't need to run on pre-UltraSPARC chips, add + --enable-nonportable-atomics=yes to the configure + script's arguments. This will cause APR to implement atomic operations + using efficient opcodes not available in older CPUs.

+
+ + +
+ + \ No newline at end of file diff --git a/docs/manual/mod/mpm_common.html.en b/docs/manual/mod/mpm_common.html.en index efa37c1332..4ee754eb0e 100644 --- a/docs/manual/mod/mpm_common.html.en +++ b/docs/manual/mod/mpm_common.html.en @@ -19,13 +19,15 @@
Apache > HTTP Server > Documentation > Version 2.1 > Modules
-

Apache Module mpm_common

+

Apache MPM Common Directives

Description:A collection of directives that are implemented by more than one multi-processing module (MPM)
Status:MPM

Directives

+
top
+

AcceptMutex Directive

+ + + + + + + +
Description:Method that Apache uses to serialize multiple children +accepting requests on network sockets
Syntax:AcceptMutex Default|method
Default:AcceptMutex Default
Context:server config
Status:MPM
Module:leader, perchild, prefork, threadpool, worker
+

The AcceptMutex directives sets the + method that Apache uses to serialize multiple children accepting + requests on network sockets. Prior to Apache 2.0, the method was + selectable only at compile time. The optimal method to use is + highly architecture and platform dependent. For further details, + see the performance tuning + documentation.

+ +

If this directive is set to Default, then the + compile-time selected default will be used. Other possible + methods are listed below. Note that not all methods are + available on all platforms. If a method is specified which is + not available, a message will be written to the error log + listing the available methods.

+ +
+
flock
+
uses the flock(2) system call to lock the + file defined by the LockFile directive.
+ +
fcntl
+
uses the fnctl(2) system call to lock the + file defined by the LockFile directive.
+ +
posixsem
+
uses POSIX compatible semaphores to implement the mutex.
+ +
pthread
+
uses POSIX mutexes as implemented by the POSIX Threads + (PThreads) specification.
+ +
sysvsem
+
uses SySV-style semaphores to implement the mutex.
+
+ +

If you want to find out the compile time chosen default + for your system, you may set your LogLevel to debug. Then the default AcceptMutex will be written into the ErrorLog.

+ +
+
top
+

BS2000Account Directive

+ + + + + + + +
Description:Define the non-privileged account on BS2000 +machines
Syntax:BS2000Account account
Context:server config
Status:MPM
Module:perchild, prefork
Compatibility:Only available for BS2000 machines
+

The BS2000Account directive is available for + BS2000 hosts only. It must be used to define the account number for + the non-privileged apache server user (which was configured using the + User directive). This is + required by the BS2000 POSIX subsystem (to change the underlying BS2000 + task environment by performing a sub-LOGON) to prevent CGI scripts + from accessing resources of the privileged account which started the + server, usually SYSROOT.

+ +

Note

+

Only one BS2000Account directive can be used.

+
+ +

See also

+ +
top

CoreDumpDirectory Directive

@@ -59,9 +138,8 @@ switch before dumping core - +
Default:See usage for the default setting
Context:server config
Status:MPM
Module:worker, perchild, prefork, mpm_winnt
Module:beos, leader, mpm_winnt, perchild, prefork, threadpool, worker
-

This controls the directory to which Apache attempts to switch before dumping core. The default is in the ServerRoot directory, however @@ -78,39 +156,50 @@ switch before dumping core requests Syntax:Group unix-group Default:Group #-1 -Context:server config, virtual host +Context:server config Status:MPM -Module:worker, perchild, prefork +Module:beos, leader, mpmt_os2, perchild, prefork, threadpool, worker +Compatibility:Only valid in global server config since Apache +2.0

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. - Unix-group is one of:

+ directive, the server must be run initially as root. 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. Unix-group is one of:

A group name
-
Refers to the given group by name.
-
# followed by a group number.
- +
# followed by a group number.
Refers to a group by its number.
+ +

Example

+ Group www-group +

+

It is recommended that you set up a new group specifically for running the server. Some admins use user nobody, but this is not always possible or desirable.

-

Group www-group

+

Security

+

Don't set Group (or User) to root unless + you know exactly what you are doing, and what the dangers are.

+
-

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.

+

Special note: Use of this directive in <VirtualHost> is no longer supported. To + configure your server for suexec use + SuexecUserGroup.

-

Special note: Use of this directive in <VirtualHost> is - no longer supported. To implement the suEXEC wrapper with Apache 2.0, use the - SuexecUserGroup - directive. SECURITY: See User for a discussion of the - security considerations.

+

Note

+

Although the Group directive is present + in the beos and mpmt_os2 MPMs, + it is actually a no-op there and only exists for compatibility + reasons.

+
top
@@ -121,25 +210,26 @@ listens to Syntax:Listen [IP-address:]portnumber Context:server config Status:MPM -Module:worker, perchild, prefork, mpm_winnt +Module:beos, leader, mpm_netware, mpm_winnt, mpmt_os2, perchild, prefork, threadpool, worker +Compatibility:Required directive since Apache 2.0

The Listen directive instructs Apache to listen to only specific IP addresses or ports; by default it - responds to requests on all IP interfaces. The Listen directive is - now a required directive. If it is not in the config file, the + responds to requests on all IP interfaces. Listen + is now a required directive. If it is not in the config file, the server will fail to start. This is a change from previous versions of Apache.

-

The Listen directive tells the server to accept incoming - requests on the specified port or address-and-port combination. - If only a port number is specified, the server listens to the - given port on all interfaces. If an IP address is given as well +

The Listen directive tells the server to + accept incoming requests on the specified port or address-and-port + combination. If only a port number is specified, the server listens to + the given port on all interfaces. If an IP address is given as well as a port, the server will listen on the given port and interface.

-

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.

+

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.

For example, to make the server accept connections on both port 80 and port 8000, use:

@@ -167,8 +257,8 @@ listens to

See also

top
@@ -179,7 +269,7 @@ listens to Default:ListenBacklog 511 Context:server config Status:MPM -Module:worker, perchild, prefork, mpm_winnt +Module:beos, leader, mpm_netware, mpm_winnt, mpmt_os2, perchild, prefork, threadpool, worker

The maximum length of the queue of pending connections. Generally no tuning is needed or desired, however on some @@ -202,25 +292,29 @@ listens to Default:LockFile logs/accept.lock Context:server config Status:MPM -Module:worker, perchild, prefork +Module:leader, perchild, prefork, threadpool, worker

The LockFile directive sets the path to - the lockfile used when Apache is compiled with either - USE_FCNTL_SERIALIZED_ACCEPT or USE_FLOCK_SERIALIZED_ACCEPT. This - directive should normally be left at its default value. The main - reason for changing it is if the logs directory is - NFS mounted, since the lockfile must be stored on a local - disk. The PID of the main server process is - automatically appended to the filename.

+ the lockfile used when Apache is used with an AcceptMutex value of either + fcntl or flock. This directive should + normally be left at its default value. The main reason for changing + it is if the logs directory is NFS mounted, since + the lockfile must be stored on a local disk. The PID + of the main server process is automatically appended to the + filename.

Security:

-

It is best to avoid putting this file in a world writable directory - such as /var/tmp because someone could create a denial of - service attack and prevent the server from starting by creating - a lockfile with the same name as the one the server will try to - create.

+

It is best to avoid putting this file in a world writable + directory such as /var/tmp because someone could create + a denial of service attack and prevent the server from starting by + creating a lockfile with the same name as the one the server will try + to create.

+

See also

+
top

MaxClients Directive

@@ -228,9 +322,10 @@ listens to Description:Maximum number of child processes that will be created to serve requests Syntax:MaxClients number +Default:See usage for details Context:server config Status:MPM -Module:worker, prefork +Module:beos, leader, prefork, threadpool, worker

The MaxClients directive sets the limit on the number of simultaneous requests that will be served. Any @@ -240,20 +335,19 @@ to serve requests directive. Once a child process is freed at the end of a different request, the connection will then be serviced.

-

For non-threaded servers (i.e., prefork), +

For non-threaded servers (i.e., prefork), MaxClients translates into the maximum number of child processes that will be launched to serve requests. The default value is 256; to increase it, you must also raise ServerLimit.

-

For threaded servers (i.e., worker), - MaxClients restricts the total - number of threads that will be available to serve clients. - The default value is 16 multiplied by the value of - ThreadsPerChild. - To increase MaxClients to a value - that requires more than 16 processes, you must also - raise ServerLimit.

+

For threaded and hybrid servers (e.g. beos + or worker) MaxClients restricts + the total number of threads that will be available to serve clients. + The default value for beos is 50. For + hybrid MPMs the default value is 16 (ServerLimit) multiplied by the value of + 25 (ThreadsPerChild). Therefore, to increase MaxClients to a value that requires more than 16 processes, + you must also raise ServerLimit.

top
@@ -261,15 +355,16 @@ to serve requests - + + - +
Description:Maximum amount of memory that the main allocator is allowed to hold without calling free()
Syntax:MaxMemFree number
Syntax:MaxMemFree KBytes
Default:MaxMemFree 0
Context:server config
Status:MPM
Module:worker, prefork, mpm_netware
Module:beos, leader, mpm_netware, prefork, threadpool, worker

The MaxMemFree directive sets the maximum number of free Kbytes that the main allocator is allowed - to hold without calling free(). When not set, or when set to - zero, the threshold will be set to unlimited.

+ to hold without calling free(). When not set, or when set + to zero, the threshold will be set to unlimited.

top
@@ -281,14 +376,19 @@ will handle during its life Default:MaxRequestsPerChild 10000 Context:server config Status:MPM -Module:worker, perchild, prefork, mpm_winnt +Module:leader, mpm_netware, mpm_winnt, mpmt_os2, perchild, prefork, threadpool, worker

The MaxRequestsPerChild directive sets the limit on the number of requests that an individual child server process will handle. After MaxRequestsPerChild requests, the child process will die. If MaxRequestsPerChild is - 0, then the process will never expire.

+ 0, then the process will never expire.

+ +

Different default values:

+

The default value for mpm_netware and + mpm_winnt is 0.

+

Setting MaxRequestsPerChild to a non-zero limit has two beneficial effects:

@@ -302,9 +402,10 @@ will handle during its life

Note:

-

For KeepAlive requests, only the first request is counted - towards this limit. In effect, it changes the behavior to limit the - number of connections per child.

+

For KeepAlive requests, only + the first request is counted towards this limit. In effect, it + changes the behavior to limit the number of connections per + child.

@@ -313,53 +414,56 @@ will handle during its life + - +
Description:Maximum number of idle threads
Syntax:MaxSpareThreads number
Default:See usage for details
Context:server config
Status:MPM
Module:mpm_netware, perchild, worker
Module:beos, leader, mpm_netware, mpmt_os2, perchild, threadpool, worker

Maximum number of idle threads. Different MPMs deal with this directive differently.

For perchild the default is - MaxSpareThreads 10. This MPM monitors the number of + MaxSpareThreads 10. This MPM monitors the number of idle threads on a per-child basis. If there are too many idle threads in that child, the server will begin to kill threads within that child.

-

For worker the default is - MaxSpareThreads 500. This MPM deals with idle threads - on a server-wide basis. If there are too many idle threads in the - server then child processes are killed until the number of idle - threads is less than this number.

+

For worker, leader and threadpool the default is MaxSpareThreads 250. + These MPMs deal with idle threads on a server-wide basis. If there + are too many idle threads in the server then child processes are + killed until the number of idle threads is less than this number.

For mpm_netware the default is - MaxSpareThreads 100. Since this MPM runs a + MaxSpareThreads 100. Since this MPM runs a single-process, the spare thread count is also server-wide.

+

beos and mpmt_os2 work + similar to mpm_netware. The default for + beos is MaxSpareThreads 50. For + mpmt_os2 the default value is 10.

+ +

Restrictions

+

The range of the MaxSpareThreads value + is restricted. Apache will correct the given value automatically + according to the following rules:

+ +

See also

- -
top
-

MaxThreadsPerChild Directive

- - - - - - - -
Description:Maximum number of threads per child process
Syntax:MaxThreadsPerChild number
Default:MaxThreadsPerChild 64
Context:server config
Status:MPM
Module:worker, perchild
-

Maximum number of threads per child. For MPMs with a - variable number of threads per child, this directive sets the - maximum number of threads that will be created in each child - process. To increase this value beyond its default, it is - necessary to change the value of the compile-time define - HARD_THREAD_LIMIT and recompile the server.

-
top

MinSpareThreads Directive

@@ -367,9 +471,10 @@ will handle during its life Description:Minimum number of idle threads available to handle request spikes Syntax:MinSpareThreads number +Default:See usage for details Context:server config Status:MPM -Module:mpm_netware, perchild, worker +Module:beos, leader, mpm_netware, mpmt_os2, perchild, threadpool, worker

Minimum number of idle threads to handle request spikes. Different MPMs deal with this directive @@ -379,10 +484,12 @@ spikes MinSpareThreads 5 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.

+ that child. Thus, if you set NumServers to 10 and a MinSpareThreads value of 5, you'll have + at least 50 idle threads on your system.

-

worker uses a default of MinSpareThreads - 250 and deals with idle threads on a server-wide basis. If +

worker, leader and + threadpool use a default of MinSpareThreads + 75 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.

@@ -391,28 +498,16 @@ spikes MinSpareThreads 10 and, since it is a single-process MPM, tracks this on a server-wide bases.

+

beos and mpmt_os2 work + similar to mpm_netware. The default for + beos is MinSpareThreads 1. For + mpmt_os2 the default value is 5.

See also

-
-
top
-

NumServers Directive

- - - - - - - -
Description:Total number of children alive at the same time
Syntax:NumServers number
Default:NumServers 2
Context:server config
Status:MPM
Module:perchild
-

Number of children alive at the same time. MPMs that use - this directive do not dynamically create new child processes so - this number should be large enough to handle the requests for - the entire site.

-
top

PidFile Directive

@@ -423,26 +518,31 @@ of the daemon Default:PidFile logs/httpd.pid Context:server config Status:MPM -Module:worker, perchild, prefork, mpm_winnt +Module:beos, leader, mpm_winnt, mpmt_os2, perchild, prefork, threadpool, worker

The PidFile directive sets the file to which the server records the process id of the daemon. If the - filename does not begin with a slash (/) then it is assumed to be - relative to the ServerRoot.

+ filename is not absolute then it is assumed to be relative to the + ServerRoot.

Example

PidFile /var/run/apache.pid

It is often useful to be able to send the server a signal, - so that it closes and then reopens its ErrorLog and TransferLog, and + so that it closes and then re-opens its ErrorLog and TransferLog, and re-reads its configuration files. This is done by sending a SIGHUP (kill -1) signal to the process id listed in the - PidFile.

+ PidFile.

The PidFile is subject to the same warnings about log file placement and security.

+

Note

+ As of Apache 2 it is recommended to use only the apachectl script for + (re-)starting or stopping the server. +
+
top

ScoreBoardFile Directive

@@ -453,7 +553,7 @@ the child processes Default:ScoreBoardFile logs/apache_status Context:server config Status:MPM -Module:worker, perchild, prefork +Module:beos, leader, mpm_winnt, perchild, prefork, threadpool, worker

Apache uses a scoreboard to communicate between its parent and child processes. Some architectures require a file to facilitate @@ -477,7 +577,8 @@ the child processes

See also

top
@@ -485,25 +586,29 @@ the child processes + - +
Description:TCP buffer size
Syntax:SendBufferSize bytes
Default:SendBufferSize 0
Context:server config
Status:MPM
Module:worker, perchild, prefork, mpm_winnt
Module:beos, leader, mpm_netware, mpm_winnt, mpmt_os2, perchild, prefork, threadpool, worker

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 (i.e., 100ms or so, such as transcontinental fast pipes).

+

If set to the value of 0, the server will use the + OS deault.

+
top

ServerLimit Directive

- + - +
Description:Upper limit on configurable number of processes
Syntax:ServerLimit number
Default:ServerLimit 256 (prefork), ServerLimit 16 (worker)
Default:See usage for details
Context:server config
Status:MPM
Module:worker, prefork
Module:leader, perchild, prefork, threadpool, worker

For the prefork MPM, this directive sets the maximum configured value for MaxClients for the lifetime of the @@ -522,47 +627,63 @@ the child processes system may become unstable.

With the prefork MPM, use this directive only - if you need to set MaxClients higher than 256. + if you need to set MaxClients higher than 256 (default). Do not set the value of this directive any higher than what you might want to set MaxClients to.

-

With the worker MPM, use this directive only +

With worker, leader and + threadpool use this directive only if your MaxClients and ThreadsPerChild - settings require more than 16 server processes. Do not set the - value of this directive any higher than the number of server + 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 MaxClients and ThreadsPerChild.

+

With the perchild MPM, use this directive only + if you need to set NumServers higher than 8 (default).

+ +

Note

+

There is a hard limit of ServerLimit 20000 compiled + into the server. This is intended to avoid nasty effects caused by + typos.

+
+ +

See also

+
top

StartServers Directive

- + - +
Description:Number of child server processes created at startup
Syntax:StartServers number
Default:StartServers 5
Default:See usage for details
Context:server config
Status:MPM
Module:worker
Module:leader, mpmt_os2, prefork, threadpool, worker

The StartServers directive sets the number of child server processes created on startup. As the number of processes is dynamically controlled depending on the load, there is usually little reason to adjust this parameter.

-

See also

- +

The default value differs from MPM to MPM. For + leader, threadpool and + worker the default is StartServers 3. + For prefork defaults to 5 and for + mpmt_os2 to 2.

+
top

StartThreads Directive

- + + - +
Description:Nubmer of threads created on startup
Description:Number of threads created on startup
Syntax:StartThreads number
Default:See usage for details
Context:server config
Status:MPM
Module:mpm_netware, perchild
Module:beos, mpm_netware, perchild

Number of threads created on startup. As the number of threads is dynamically controlled depending on the @@ -578,6 +699,9 @@ the child processes process, this is the total number of threads created at startup to serve requests.

+

For beos the default is StartThreads + 10. It also reflects the total number of threads created + at startup to serve requests.

top
@@ -586,9 +710,12 @@ the child processes Description:Sets the upper limit on the configurable number of threads per child process Syntax:ThreadLimit number +Default:See usage for details Context:server config Status:MPM -Module:mpm_winnt, worker +Module:leader, mpm_winnt, perchild, threadpool, worker +Compatibility:Available for mpm_winnt in Apache 2.0.41 +and later

This directive sets the maximum configured value for ThreadsPerChild for the lifetime of the Apache process. Any attempts to change this directive @@ -606,9 +733,15 @@ per child process current run of Apache.

The default value for ThreadLimit is - 64 when used with worker and 1920 when used - with mpm_winnt.

- + 1920 when used with mpm_winnt and + 64 when used with the others.

+ +

Note

+

There is a hard limit of ThreadLimit 20000 (or + ThreadLimit 15000 with mpm_winnt) + compiled into the server. This is intended to avoid nasty effects + caused by typos.

+
top
@@ -616,23 +749,23 @@ per child process + - +
Description:Number of threads created by each child process
Syntax:ThreadsPerChild number
Default:See usage for details
Context:server config
Status:MPM
Module:worker, mpm_winnt
Module:leader, mpm_winnt, threadpool, worker

This directive sets the number of threads created by each child process. The child creates these threads at startup and - never creates more. If using an MPM like mpmt_winnt, where - there is only one child process, this number should be high + never creates more. If using an MPM like mpm_winnt, + where there is only one child process, this number should be high enough to handle the entire load of the server. If using an MPM - like worker, where there are multiple child processes, the - total number of threads should be high enough to handle the - common load on the server.

- -

The default value for this directive is 25 when used with - worker and 64 when used with - mpm_winnt.

+ like worker, where there are multiple child processes, + the total number of threads should be high enough to handle + the common load on the server.

+

The default value for ThreadsPerChild is + 64 when used with mpm_winnt and + 25 when used with the others.

top
@@ -642,48 +775,59 @@ per child process requests Syntax:User unix-userid Default:User #-1 -Context:server config, virtual host +Context:server config Status:MPM -Module:worker, perchild, prefork +Module:leader, perchild, prefork, threadpool, worker +Compatibility:Only valid in global server config since Apache +2.0 -

The User directive sets the userid as +

The User directive sets the user ID as which the server will answer requests. In order to use this - directive, the standalone server must be run initially as - root. Unix-userid is one of:

+ directive, the server must be run initially as root. + 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. + Unix-userid is one of:

A username
-
Refers to the given user by name.
# followed by a user number.
- -
Refers to a user by their number.
+
Refers to a user by its number.

The user should have no privileges that result in it being able to access files that are not intended to be visible to the outside world, and similarly, the user should not be able to - execute code that is not meant for httpd requests. It is + execute code that is not meant for HTTP requests. It is recommended that you set up a new user and group specifically for running the server. Some admins use user nobody, but this is not always desirable, since the nobody user can have other uses on the system.

-

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.

+

Security

+

Don't set User (or Group) to root unless + you know exactly what you are doing, and what the dangers are.

+
+ +

With the perchild MPM, which is intended to + server virtual hosts run under different user IDs, the + User directive defines the user ID for the + main server and the fallback for <VirtualHost> sections without an + AssignUserID directive.

Special note: Use of this directive in <VirtualHost> is no longer supported. To - configure your server for suexec use + configure your server for suexec use SuexecUserGroup.

-

Security

Don't set User -(or Group) to -root unless you know exactly what you are doing, and what -the dangers are.

+

Note

+

Although the User directive is present + in the beos and mpmt_os2 MPMs, + it is actually a no-op there and only exists for compatibility + reasons.

+
diff --git a/docs/manual/mod/mpm_netware.html.en b/docs/manual/mod/mpm_netware.html.en index efa34cab99..f36d888e7b 100644 --- a/docs/manual/mod/mpm_netware.html.en +++ b/docs/manual/mod/mpm_netware.html.en @@ -19,7 +19,7 @@
Apache > HTTP Server > Documentation > Version 2.1 > Modules
-

Apache Module mpm_netware

+

Apache MPM netware

@@ -46,12 +46,9 @@ regulate how the main thread creates worker threads to serve requests. In general, Apache is very self-regulating, so most sites do not need to adjust these directives from their default - values. Sites which need to serve more than 250 simultaneous - requests may need to increase MaxThreads, while - sites with limited memory may need to decrease - MaxThreads to keep the server from thrashing - (spawning and terminating idle threads). More information about - tuning process creation is provided in the performance hints + values. Sites with limited memory may need to decrease MaxThreads to keep the server from + thrashing (spawning and terminating idle threads). More information + about tuning process creation is provided in the performance hints documentation.

MaxRequestsPerChild @@ -83,21 +80,27 @@

top
Description:Multi-Processing Module implementing an exclusively threaded web server optimized for Novell NetWare
Status:MPM
- + - +
Description:
Description:Set the maximum number of worker threads
Syntax:MaxThreads number
Default:MaxThreads 250
Default:MaxThreads 2048
Context:server config
Status:MPM
Module:mpm_netware
-

The MaxThreads directive sets the desired maximum - number worker threads allowable.

+

The MaxThreads directive sets the desired + maximum number worker threads allowable. The default value is + also the compiled in hard limit. Therefore it can only be lowered, + for example:

+ +

+ MaxThreads 512 +

top

ThreadStackSize Directive

- + diff --git a/docs/manual/mod/mpm_winnt.html.en b/docs/manual/mod/mpm_winnt.html.en index 253cc59e6a..f6e25aee2d 100644 --- a/docs/manual/mod/mpm_winnt.html.en +++ b/docs/manual/mod/mpm_winnt.html.en @@ -19,9 +19,9 @@
-

Apache Module mpm_winnt

+

Apache MPM winnt

Description:
Description:Determine the stack size for each thread
Syntax:ThreadStackSize number
Default:ThreadStackSize 65536
Context:server config
+NT.
Description:This Multi-Processing Module is optimized for Windows - NT.
Status:MPM
Module Identifier:mpm_winnt_module
Source File:mpm_winnt.c
@@ -39,6 +39,7 @@
  • ListenBacklog
  • MaxRequestsPerChild
  • PidFile
  • +
  • ScoreBoardFile
  • SendBufferSize
  • ThreadLimit
  • ThreadsPerChild
  • diff --git a/docs/manual/mod/mpmt_os2.html.en b/docs/manual/mod/mpmt_os2.html.en new file mode 100644 index 0000000000..3b72aacd92 --- /dev/null +++ b/docs/manual/mod/mpmt_os2.html.en @@ -0,0 +1,67 @@ + + + +mpmt_os2 - Apache HTTP Server + + + + + + +
    <-
    + +
    +

    Apache MPM os2

    + + + +
    Description:Hybrid multi-process, multi-threaded MPM for OS/2
    Status:MPM
    Module Identifier:mpm_mpmt_os2_module
    Source File:mpmt_os2.c
    +

    Summary

    + +

    The Server consists of a main, parent process and a small, static + number of child processes.

    + +

    The parent process's job is to manage the child processes. This + involves spawning children as required to ensure there are always + StartServers processes + accepting connections.

    + +

    Each child process consists of a a pool of worker threads and a + main thread that accepts connections and passes them to the workers via + a work queue. The worker thread pool is dynamic, managed by a + maintenance thread so that the number of idle threads is kept between + MinSpareThreads and + MaxSpareThreads.

    +
    + + +
    + + \ No newline at end of file diff --git a/docs/manual/mod/perchild.html.en b/docs/manual/mod/perchild.html.en index 1a8db1fe1d..87277d5ca8 100644 --- a/docs/manual/mod/perchild.html.en +++ b/docs/manual/mod/perchild.html.en @@ -19,30 +19,64 @@
    -

    Apache Module perchild

    - +

    Apache MPM perchild

    +
    Description:Multi-Processing Module allowing for daemon processes - serving requests to be assigned a variety of different - userids
    Description:Multi-Processing Module allowing for daemon processes serving +requests to be assigned a variety of different userids
    Status:MPM
    Module Identifier:mpm_perchild_module
    Source File:perchild.c

    Summary

    -
    -This MPM does not currently work on most platforms. Work is ongoing to -make it functional. -
    +
    + This MPM does not currently work on most platforms. Work is ongoing + to make it functional. +

    This Multi-Processing Module (MPM) implements a hybrid multi-process, multi-threaded web server. A fixed number of processes create threads to handle requests. Fluctuations in load are handled by increasing or decreasing the number of threads in each process.

    - +
    + +
    top
    +
    +

    How it works

    A single control process launches the number of child processes - indicated by the NumServers directive at server - startup. Each child process creates threads as specified in the - StartThreads directive. + indicated by the NumServers + directive at server startup. Each child process creates threads as + specified in the StartThreads directive. The individual threads then listen for connections and serve them when they arrive.

    @@ -58,7 +92,7 @@ make it functional. necessary to modify these directives from their default values. The maximum number of clients that may be served simultaneously is determined by multiplying the number of server processes - that will be created (NumServers) by the maximum + that will be created (NumServers) by the maximum number of threads created in each process (MaxThreadsPerChild).

    @@ -77,70 +111,142 @@ make it functional. server recycles processes by killing old ones and launching new ones.

    -

    In addition it adds the extra ability to specify that - specific processes should serve requests under different - userids. These processes can then be associated with specific - virtual hosts.

    +

    Working with different user-IDs

    +

    The perchild MPM adds the extra ability to + specify that particular processes should serve requests under + different user-IDs. These user-IDs can then be associated with + specific virtual hosts. You have to use one ChildPerUserID directive for + every user/group combination you want to be run. Then you can tie + particular virtual hosts to that user and group IDs.

    + +

    The following example runs 7 child processes. Two of them are run + under user1/group1. The next four are run + under user2/group2 and the remaining + process uses the User and Group + of the main server:

    + +

    Global config

    + NumServers 7
    + ChildPerUserID user1 group1 2
    + ChildPerUserID user2 group2 4 +

    + +

    Using unbalanced numbers of processes as above is useful, if the + particular virtual hosts produce different load. The assignment to + the virtual hosts is easily done as in the example below. In + conclusion with the example above the following assumes, that + server2 has to serve about twice of the hits of + server1.

    + +

    Example

    + NameVirtualHost *
    +
    + <VirtualHost *>
    + + ServerName fallbackhost
    + # no assignment; use fallback
    +
    + </VirtualHost>
    +
    + <VirtualHost *>
    + + ServerName server1
    + AssignUserID user1 group1
    +
    + </VirtualHost>
    +
    + <VirtualHost *>
    + + ServerName server2
    + AssignUserID user2 group2
    +
    + </VirtualHost> +

    - -
    top
    -

    AssignUserId Directive

    +

    AssignUserID Directive

    - - + +
    Description:
    Syntax:AssignUserID user_id group_id
    Description:Tie a virtual host to a user and group ID
    Syntax:AssignUserID user-id group-id
    Context:virtual host
    Status:MPM
    Module:perchild
    -

    Tie a virtual host to a specific child process. Requests addressed to -the virtual host where this directive appears will be served by the process -running with the specified user and group id.

    +

    Tie a virtual host to a specific user/group combination. Requests + addressed to the virtual host where this directive appears will be + served by a process running with the specified user and group ID.

    + +

    The user and group ID has to be assigned to a number of children + in the global server config using the ChildPerUserID directive. See the section above for a + configuration example.

    + +
    +
    top
    +

    ChildPerUserID Directive

    + + + + + + +
    Description:Specify user ID and group ID for a number of child +processes
    Syntax:ChildPerUserID user-id group-id +num-children
    Context:server config
    Status:MPM
    Module:perchild
    +

    Specify a user ID and group ID for a number of child processes. + The third argument, num-children, is the number of child + processes to start with the specified user and group. It does + not represent a specific child number. In order to use this + directive, the server must be run initially as root. + If you start the server as a non-root user, it will fail to change + to the lesser privileged user.

    + +

    If the total number of child processes, found by totaling all of the + third arguments to all ChildPerUserID directives + in the config file, is less than NumServers, then all remaining children will inherit the + User and Group settings from the main server. + See the section above for a configuration + example.

    + +

    Security

    +

    Don't set user-id (or group-id) to + root unless you know exactly what you are doing, and + what the dangers are.

    +
    + +
    +
    top
    +

    MaxThreadsPerChild Directive

    + + + + + + + +
    Description:Maximum number of threads per child process
    Syntax:MaxThreadsPerChild number
    Default:MaxThreadsPerChild 64
    Context:server config
    Status:MPM
    Module:perchild
    +

    This directive sets the maximum number of threads that will be + created in each child process. To increase this value beyond its + default, it is necessary to change the value of the ThreadLimit directive and stop and + re-start the server.

    top
    -

    ChildPerUserId Directive

    +

    NumServers Directive

    - - + + +
    Description:
    Syntax:ChildPerUserID user_id -group_id num_children
    Description:Total number of children alive at the same time
    Syntax:NumServers number
    Default:NumServers 2
    Context:server config
    Status:MPM
    Module:perchild
    -

    Specify a user id and group id for a number of child processes. The third -argument, num_children, is the number of child processes to start with the -specified user and group. It does not represent a specific -child number. If the total number of child processes, found by totaling all of -the third arguments to all ChildPerUserId directives in the config file, is -less than NumServers, then all -remaining children will inherit the User and Group settings from the main server

    +

    The NumServers directive determines the number + of children alive at the same time. This number should be large enough to + handle the requests for the entire site. To increase this value beyond the + value of 8, it is necessary to change the value of the + ServerLimit directive and stop + and re-start the server. See the section above for a configuration example.

    diff --git a/docs/manual/mod/prefork.html.en b/docs/manual/mod/prefork.html.en index d14c50dcd9..5781a455a2 100644 --- a/docs/manual/mod/prefork.html.en +++ b/docs/manual/mod/prefork.html.en @@ -19,7 +19,7 @@
    -

    Apache Module prefork

    +

    Apache MPM prefork

    @@ -39,11 +39,11 @@ handle as many simultaneous requests as you expect to receive, but small enough to assure that there is enough physical RAM for all processes.

    -
    top
    @@ -94,9 +94,9 @@ about tuning process creation is provided in the performance hints documentation.

    -

    While the parent process is usually started as root under Unix - in order to bind to port 80, the child processes are launched by - Apache as a less-privileged user. The User and Group directives are used to set +

    While the parent process is usually started as root + under Unix in order to bind to port 80, the child processes are + launched by Apache as a less-privileged user. The User and Group directives are used to set the privileges of the Apache child processes. The child processes must be able to read all the content that will be served, but should have as few privileges beyond that as possible.

    @@ -106,54 +106,6 @@ old ones and launching new ones.

    top
    -
    Description:Implements a non-threaded, pre-forking web server
    Status:MPM
    Module Identifier:mpm_prefork_module
    - - - - - - -
    Description:Method that Apache uses to serialize multiple children -accepting requests on network sockets
    Syntax:AcceptMutex default|method
    Default:AcceptMutex default
    Context:server config
    Status:MPM
    Module:prefork
    -

    The AcceptMutex directives sets the - method that Apache uses to serialize multiple children accepting - requests on network sockets. Prior to Apache 2.0, the method was - selectable only at compile time. The optimal method to use is - highly architecture and platform dependent. For further details, - see the performance tuning - documentation.

    - -

    If this directive is set to default, then the - compile-time selected default will be used. Other possible - methods are listed below. Note that not all methods are - available on all platforms. If a method is specified which is - not available, a message will be written to the error log - listing the available methods.

    - -
    -
    flock
    - -
    uses the flock(2) system call to lock the - file defined by the LockFile directive.
    - -
    fcntl
    - -
    uses the fnctl(2) system call to lock the - file defined by the LockFile directive.
    - -
    sysvsem
    - -
    uses SySV-style semaphores to implement the mutex.
    - -
    pthread
    - -
    uses POSIX mutexes as implemented by the POSIX Threads - (PThreads) specification.
    -
    - -
    -
    top

    MaxSpareServers Directive

    @@ -166,12 +118,14 @@ accepting requests on network sockets

    The MaxSpareServers directive sets the desired maximum number of idle child server processes. An idle process is one which is not handling a request. If there are - more than MaxSpareServers idle, then the parent process will kill - off the excess processes.

    + more than MaxSpareServers idle, then the + parent process will kill off the excess processes.

    Tuning of this parameter should only be necessary on very busy sites. Setting this parameter to a large number is almost - always a bad idea.

    + always a bad idea. If you are trying to set the value lower than + MinSpareServers, Apache + will automatically adjust it to MinSpareServers + 1.

    See also

      @@ -184,7 +138,7 @@ accepting requests on network sockets
    Description:Maximum number of idle child server processes
    - + @@ -192,8 +146,8 @@ accepting requests on network sockets

    The MinSpareServers directive sets the desired minimum number of idle child server processes. An idle process is one which is not handling a request. If there are - fewer than MinSpareServers idle, then the parent process creates - new children at a maximum rate of 1 per second.

    + fewer than MinSpareServers idle, then the parent + process creates new children at a maximum rate of 1 per second.

    Tuning of this parameter should only be necessary on very busy sites. Setting this parameter to a large number is almost diff --git a/docs/manual/mod/quickreference.html.en b/docs/manual/mod/quickreference.html.en index 28e5aa2f3f..2f6edfbf27 100644 --- a/docs/manual/mod/quickreference.html.en +++ b/docs/manual/mod/quickreference.html.en @@ -50,7 +50,7 @@

    Description:Minimum number of idle child server processes
    Syntax:MinSpareServers number
    Default:MinSpareServers 5
    Default:MinSpareServers 5
    Context:server config
    Status:MPM
    Module:prefork
    - @@ -121,7 +121,7 @@ error log - + - - - + + + - - + - - - + - - - - + - - - - - - + - - - - - - + - - - - + + + - - + - - - - - - - + + + + + + - - - - - + + + + - - - - - - - - + + + + - - - - - - - + + - - + - - - - + - - - + + - - - - - - - + - - + - - - - + - - - - - - + - - - - + + - - - + - - - - - + + + - - - + - - - - - - - + - - - + + - - - - - - + + + - - - + + - - + + meta information - + @@ -435,7 +440,7 @@ a matching file with MultiViews hosting - + @@ -554,12 +559,12 @@ in the scriptlog - + - + - - + + - + @@ -655,7 +660,7 @@ certain events before failing a request ... -
    AcceptMutex default|method default sM
    Method that Apache uses to serialize multiple children +
    AcceptMutex Default|method Default sM
    Method that Apache uses to serialize multiple children accepting requests on network sockets
    AcceptPathInfo On|Off|Default Default svdhC
    Resources accept trailing pathname information
    AccessFileName filename [filename] ... .htaccess svC
    Name of the distributed configuration file
    Anonymous_NoUserID On|Off Off dhE
    Sets whether the userID field may be empty
    Anonymous_VerifyEmail On|Off Off dhE
    Sets whether to check the password field for a correctly formatted email address
    AssignUserID user_id group_idvM
    -
    AssignUserID user-id group-idvM
    Tie a virtual host to a user and group ID
    AuthBasicAuthoritative On|Off On dhB
    Sets whether authorization and authentication are passed to lower level modules
    AuthBasicProvider On|Off|provider-name @@ -187,222 +187,227 @@ modules
    BrowserMatchNoCase regex [!]env-variable[=value] [[!]env-variable[=value]] ...svdhB
    Sets environment variables conditional on User-Agent without respect to case
    CacheDefaultExpire seconds 3600 (one hour) svX
    The default duration to cache a document when no expiry date is specified.
    CacheDirLength length 2 svX
    The number of characters in subdirectory names
    CacheDirLevels levels 3 svX
    The number of levels of subdirectories in the +
    BS2000Account accountsM
    Define the non-privileged account on BS2000 +machines
    CacheDefaultExpire seconds 3600 (one hour) svX
    The default duration to cache a document when no expiry date is specified.
    CacheDirLength length 2 svX
    The number of characters in subdirectory names
    CacheDirLevels levels 3 svX
    The number of levels of subdirectories in the cache.
    CacheDisable url-stringsvX
    Disable caching of specified URLs
    CacheEnable cache_type url-stringsvX
    Enable caching of specified URLs using a specified storage +
    CacheDisable url-stringsvX
    Disable caching of specified URLs
    CacheEnable cache_type url-stringsvX
    Enable caching of specified URLs using a specified storage manager
    CacheExpiryCheck On|Off On svX
    Indicates if the cache observes Expires dates when seeking +
    CacheExpiryCheck On|Off On svX
    Indicates if the cache observes Expires dates when seeking files
    CacheFile file-path [file-path] ...sX
    Cache a list of file handles at startup time
    CacheForceCompletion Percentage 60 svX
    Percentage of document served, after which the server +
    CacheFile file-path [file-path] ...sX
    Cache a list of file handles at startup time
    CacheForceCompletion Percentage 60 svX
    Percentage of document served, after which the server will complete caching the file even if the request is cancelled.
    CacheGcClean hours url-string ? svX
    The time to retain unchanged cached files that match a +
    CacheGcClean hours url-string ? svX
    The time to retain unchanged cached files that match a URL
    CacheGcDaily time ? svX
    The recurring time each day for garbage collection to be run. +
    CacheGcDaily time ? svX
    The recurring time each day for garbage collection to be run. (24 hour clock)
    CacheGcInterval hourssvX
    The interval between garbage collection attempts.
    CacheGcMemUsage KBytes ? svX
    The maximum kilobytes of memory used for garbage +
    CacheGcInterval hourssvX
    The interval between garbage collection attempts.
    CacheGcMemUsage KBytes ? svX
    The maximum kilobytes of memory used for garbage collection
    CacheGcUnused hours url-string ? svX
    The time to retain unreferenced cached files that match a +
    CacheGcUnused hours url-string ? svX
    The time to retain unreferenced cached files that match a URL.
    CacheIgnoreCacheControl On|Off Off svX
    Ignore the fact that the client requested the content not be +
    CacheIgnoreCacheControl On|Off Off svX
    Ignore the fact that the client requested the content not be cached.
    CacheIgnoreNoLastMod On|Off Off svX
    Ignore the fact that a response has no Last Modified +
    CacheIgnoreNoLastMod On|Off Off svX
    Ignore the fact that a response has no Last Modified header.
    CacheLastModifiedFactor float 0.1 svX
    The factor used to compute an expiry date based on the +
    CacheLastModifiedFactor float 0.1 svX
    The factor used to compute an expiry date based on the LastModified date.
    CacheMaxExpire seconds 86400 (one day) svX
    The maximum time in seconds to cache a document
    CacheMaxFileSize bytes 1000000 svX
    The maximum size (in bytes) of a document to be placed in the +
    CacheMaxExpire seconds 86400 (one day) svX
    The maximum time in seconds to cache a document
    CacheMaxFileSize bytes 1000000 svX
    The maximum size (in bytes) of a document to be placed in the cache
    CacheMinFileSize bytes 1 svX
    The minimum size (in bytes) of a document to be placed in the +
    CacheMinFileSize bytes 1 svX
    The minimum size (in bytes) of a document to be placed in the cache
    CacheNegotiatedDocs On|Off Off svB
    Allows content-negotiated documents to be +
    CacheNegotiatedDocs On|Off Off svB
    Allows content-negotiated documents to be cached by proxy servers
    CacheRoot directorysvX
    The directory root under which cache files are +
    CacheRoot directorysvX
    The directory root under which cache files are stored
    CacheSize KBytes 1000000 svX
    The maximum amount of disk space that will be used by the +
    CacheSize KBytes 1000000 svX
    The maximum amount of disk space that will be used by the cache in KBytes
    CacheTimeMargin ? ? svX
    The minimum time margin to cache a document
    CGIMapExtension cgi-path .extensiondhC
    Technique for locating the interpreter for CGI +
    CacheTimeMargin ? ? svX
    The minimum time margin to cache a document
    CGIMapExtension cgi-path .extensiondhC
    Technique for locating the interpreter for CGI scripts
    CharsetDefault charsetsvdhX
    Charset to translate into
    CharsetOptions option [option] ... DebugLevel=0 NoImpl +svdhX
    Configures charset translation behavior
    CharsetSourceEnc charsetsvdhX
    Source charset of files
    CheckSpelling on|off Off svdhE
    Enables the spelling +
    CharsetDefault charsetsvdhX
    Charset to translate into
    CharsetOptions option [option] ... DebugLevel=0 NoImpl +svdhX
    Configures charset translation behavior
    CharsetSourceEnc charsetsvdhX
    Source charset of files
    CheckSpelling on|off Off svdhE
    Enables the spelling module
    ChildPerUserID user_id -group_id num_childrensM
    -
    ContentDigest On|Off Off svdhC
    Enables the generation of Content-MD5 HTTP Response +
    ChildPerUserID user-id group-id +num-childrensM
    Specify user ID and group ID for a number of child +processes
    ContentDigest On|Off Off svdhC
    Enables the generation of Content-MD5 HTTP Response headers
    CookieDomain domainsvdhE
    The domain to which the tracking cookie applies
    CookieExpires expiry-periodsvdhE
    Expiry time for the tracking cookie
    CookieLog filenamesvB
    Sets filename for the logging of cookies
    CookieName token Apache svdhE
    Name of the tracking cookie
    CookieStyle - Netscape|Cookie|Cookie2|RFC2109|RFC2965 Netscape svdhE
    Format of the cookie header field
    CookieTracking on|off off svdhE
    Enables tracking cookie
    CoreDumpDirectory directorysM
    Directory where Apache attempts to +
    CookieDomain domainsvdhE
    The domain to which the tracking cookie applies
    CookieExpires expiry-periodsvdhE
    Expiry time for the tracking cookie
    CookieLog filenamesvB
    Sets filename for the logging of cookies
    CookieName token Apache svdhE
    Name of the tracking cookie
    CookieStyle + Netscape|Cookie|Cookie2|RFC2109|RFC2965 Netscape svdhE
    Format of the cookie header field
    CookieTracking on|off off svdhE
    Enables tracking cookie
    CoreDumpDirectory directorysM
    Directory where Apache attempts to switch before dumping core
    CustomLog file|pipe +
    CustomLog file|pipe format|nickname -[env=[!]environment-variable]svB
    Sets filename and format of log file
    Dav On|Off|provider-name Off dE
    Enable WebDAV HTTP methods
    DavDepthInfinity on|off off svdE
    Allow PROPFIND, Depth: Infinity requests
    DavLockDB file-pathsvE
    Location of the DAV lock database
    DavMinTimeout seconds 0 svdE
    Minimum amount of time the server holds a lock on +[env=[!]environment-variable]svB
    Sets filename and format of log file
    Dav On|Off|provider-name Off dE
    Enable WebDAV HTTP methods
    DavDepthInfinity on|off off svdE
    Allow PROPFIND, Depth: Infinity requests
    DavLockDB file-pathsvE
    Location of the DAV lock database
    DavMinTimeout seconds 0 svdE
    Minimum amount of time the server holds a lock on a DAV resource
    DefaultIcon url-pathsvdhB
    Icon to display for files when no specific icon is +
    DefaultIcon url-pathsvdhB
    Icon to display for files when no specific icon is configured
    DefaultLanguage MIME-langsvdhB
    Sets all files in the given scope to the specified +
    DefaultLanguage MIME-langsvdhB
    Sets all files in the given scope to the specified language
    DefaultType MIME-type text/plain svdhC
    MIME content-type that will be sent if the +
    DefaultType MIME-type text/plain svdhC
    MIME content-type that will be sent if the server cannot determine a type in any other way
    DeflateBufferSize value 8096 svE
    Fragment size to be compressed at one time by zlib
    DeflateFilterNote notenamesvE
    Places the compression ratio in a note for logging
    DeflateMemLevel value 9 svE
    How much memory should be used by zlib for compression
    DeflateWindowSize value 15 svE
    Zlib compression window size
    Deny from all|host|env=env-variable -[host|env=env-variable] ...dhB
    Controls which hosts are denied access to the +
    DeflateBufferSize value 8096 svE
    Fragment size to be compressed at one time by zlib
    DeflateFilterNote notenamesvE
    Places the compression ratio in a note for logging
    DeflateMemLevel value 9 svE
    How much memory should be used by zlib for compression
    DeflateWindowSize value 15 svE
    Zlib compression window size
    Deny from all|host|env=env-variable +[host|env=env-variable] ...dhB
    Controls which hosts are denied access to the server
    <Directory directory-path> -... </Directory>svC
    Enclose a group of directives that apply only to the +
    <Directory directory-path> +... </Directory>svC
    Enclose a group of directives that apply only to the named file-system directory and sub-directories
    DirectoryIndex - local-url [local-url] ... index.html svdhB
    List of resources to look for when the client requests +
    DirectoryIndex + local-url [local-url] ... index.html svdhB
    List of resources to look for when the client requests a directory
    <DirectoryMatch regex> -... </DirectoryMatch>svC
    Enclose directives that apply to +
    <DirectoryMatch regex> +... </DirectoryMatch>svC
    Enclose directives that apply to file-system directories matching a regular expression and their subdirectories
    DocumentRoot directory-path /usr/local/apache/h +svC
    Directory that forms the main document tree visible +
    DocumentRoot directory-path /usr/local/apache/h +svC
    Directory that forms the main document tree visible from the web
    EnableMMAP On|Off On svdhC
    Use memory-mapping to read files during delivery
    EnableSendfile On|Off On svdhC
    Use the kernel sendfile support to deliver files to the client
    ErrorDocument error-code documentsvdhC
    What the server will return to the client +
    EnableMMAP On|Off On svdhC
    Use memory-mapping to read files during delivery
    EnableSendfile On|Off On svdhC
    Use the kernel sendfile support to deliver files to the client
    ErrorDocument error-code documentsvdhC
    What the server will return to the client in case of an error
    ErrorLog file-path|syslog[:facility] logs/error_log (Uni +svC
    Location where the server will log errors
    ExamplesvdhX
    Demonstration directive to illustrate the Apache module +
    ErrorLog file-path|syslog[:facility] logs/error_log (Uni +svC
    Location where the server will log errors
    ExamplesvdhX
    Demonstration directive to illustrate the Apache module API
    ExpiresActive On|OffsvdhE
    Enables generation of Expires +
    ExpiresActive On|OffsvdhE
    Enables generation of Expires headers
    ExpiresByType MIME-type -<code>secondssvdhE
    Value of the Expires header configured +
    ExpiresByType MIME-type +<code>secondssvdhE
    Value of the Expires header configured by MIME type
    ExpiresDefault <code>secondssvdhE
    Default algorithm for calculating expiration time
    ExtendedStatus On|Off Off sB
    Keep track of extended status information for each +
    ExpiresDefault <code>secondssvdhE
    Default algorithm for calculating expiration time
    ExtendedStatus On|Off Off sB
    Keep track of extended status information for each request
    ExtFilterDefine filtername parameterssE
    Define an external filter
    ExtFilterOptions option [option] ... DebugLevel=0 NoLogS +dE
    Configure mod_ext_filter options
    FileETag component ... INode MTime Size svdhC
    File attributes used to create the ETag +
    ExtFilterDefine filtername parameterssE
    Define an external filter
    ExtFilterOptions option [option] ... DebugLevel=0 NoLogS +dE
    Configure mod_ext_filter options
    FileETag component ... INode MTime Size svdhC
    File attributes used to create the ETag HTTP response header
    <Files filename> ... </Files>svdhC
    Contains directives that apply to matched +
    <Files filename> ... </Files>svdhC
    Contains directives that apply to matched filenames
    <FilesMatch regex> ... </FilesMatch>svdhC
    Contains directives that apply to regular-expression matched +
    <FilesMatch regex> ... </FilesMatch>svdhC
    Contains directives that apply to regular-expression matched filenames
    ForceLanguagePriority None|Prefer|Fallback [Prefer|Fallback] Prefer svdhB
    Action to take if a single acceptable document is not +
    ForceLanguagePriority None|Prefer|Fallback [Prefer|Fallback] Prefer svdhB
    Action to take if a single acceptable document is not found
    ForceType MIME-type|nonedhC
    Forces all matching files to be served with the specified +
    ForceType MIME-type|nonedhC
    Forces all matching files to be served with the specified MIME content-type
    Group unix-group #-1 svM
    Group under which the server will answer +
    Group unix-group #-1 sM
    Group under which the server will answer requests
    Header set|append|add|unset|echo header -[value [env=[!]variable]]svdhE
    Configure HTTP response headers
    HeaderName filenamesvdhB
    Name of the file that will be inserted at the top +
    Header set|append|add|unset|echo header +[value [env=[!]variable]]svdhE
    Configure HTTP response headers
    HeaderName filenamesvdhB
    Name of the file that will be inserted at the top of the index listing
    HostnameLookups On|Off|Double Off svdC
    Enables DNS lookups on client IP addresses
    IdentityCheck On|Off Off svdC
    Enables logging of the RFC1413 identity of the remote +
    HostnameLookups On|Off|Double Off svdC
    Enables DNS lookups on client IP addresses
    IdentityCheck On|Off Off svdC
    Enables logging of the RFC1413 identity of the remote user
    <IfDefine [!]parameter-name> ... - </IfDefine>svdhC
    Encloses directives that will be processed only +
    <IfDefine [!]parameter-name> ... + </IfDefine>svdhC
    Encloses directives that will be processed only if a test is true at startup
    <IfModule [!]module-name> ... - </IfModule>svdhC
    Encloses directives that are processed conditional on the +
    <IfModule [!]module-name> ... + </IfModule>svdhC
    Encloses directives that are processed conditional on the presence or absence of a specific module
    ImapBase map|referer|URL http://servername/ svdhB
    Default base for imagemap files
    ImapDefault error|nocontent|map|referer|URL nocontent svdhB
    Default action when an imagemap is called with coordinates +
    ImapBase map|referer|URL http://servername/ svdhB
    Default base for imagemap files
    ImapDefault error|nocontent|map|referer|URL nocontent svdhB
    Default action when an imagemap is called with coordinates that are not explicitly mapped
    ImapMenu none|formatted|semiformatted|unformattedsvdhB
    Action if no coordinates are given when calling +
    ImapMenu none|formatted|semiformatted|unformattedsvdhB
    Action if no coordinates are given when calling an imagemap
    Include file-path|directory-pathsvdC
    Includes other configuration files from within +
    Include file-path|directory-pathsvdC
    Includes other configuration files from within the server configuration files
    IndexIgnore file [file] ...svdhB
    Adds to the list of files to hide when listing +
    IndexIgnore file [file] ...svdhB
    Adds to the list of files to hide when listing a directory
    IndexOptions [+|-]option [[+|-]option] -...svdhB
    Various configuration settings for directory +
    IndexOptions [+|-]option [[+|-]option] +...svdhB
    Various configuration settings for directory indexing
    IndexOrderDefault Ascending|Descending -Name|Date|Size|Description Ascending Name svdhB
    Sets the default ordering of the directory index
    ISAPIAppendLogToErrors on|off off svdhB
    Record HSE_APPEND_LOG_PARAMETER requests from +
    IndexOrderDefault Ascending|Descending +Name|Date|Size|Description Ascending Name svdhB
    Sets the default ordering of the directory index
    ISAPIAppendLogToErrors on|off off svdhB
    Record HSE_APPEND_LOG_PARAMETER requests from ISAPI extensions to the error log
    ISAPIAppendLogToQuery on|off on svdhB
    Record HSE_APPEND_LOG_PARAMETER requests from +
    ISAPIAppendLogToQuery on|off on svdhB
    Record HSE_APPEND_LOG_PARAMETER requests from ISAPI extensions to the query field
    ISAPICacheFile file-path [file-path] -...svB
    ISAPI .dll files to be loaded at startup
    ISAPIFakeAsync on|off off svdhB
    Fake asynchronous support for ISAPI callbacks
    ISAPILogNotSupported on|off off svdhB
    Log unsupported feature requests from ISAPI +
    ISAPICacheFile file-path [file-path] +...svB
    ISAPI .dll files to be loaded at startup
    ISAPIFakeAsync on|off off svdhB
    Fake asynchronous support for ISAPI callbacks
    ISAPILogNotSupported on|off off svdhB
    Log unsupported feature requests from ISAPI extensions
    ISAPIReadAheadBuffer size 49152 svdhB
    Size of the Read Ahead Buffer sent to ISAPI +
    ISAPIReadAheadBuffer size 49152 svdhB
    Size of the Read Ahead Buffer sent to ISAPI extensions
    KeepAlive On|Off On svC
    Enables HTTP persistent connections
    KeepAliveTimeout seconds 15 svC
    Amount of time the server will wait for subsequent +
    KeepAlive On|Off On svC
    Enables HTTP persistent connections
    KeepAliveTimeout seconds 15 svC
    Amount of time the server will wait for subsequent requests on a persistent connection
    LanguagePriority MIME-lang [MIME-lang] -...svdhB
    The precendence of language variants for cases where +
    LanguagePriority MIME-lang [MIME-lang] +...svdhB
    The precendence of language variants for cases where the client does not express a preference
    LDAPCacheEntries number 1024 sX
    Maximum number of entires in the primary LDAP cache
    LDAPCacheTTL seconds 600 sX
    Time that cached items remain valid
    LDAPCertDBPath directory-pathsX
    Directory containing certificates for SSL support
    LDAPOpCacheEntries number 1024 sX
    Number of entries used to cache LDAP compare +
    LDAPCacheEntries number 1024 sX
    Maximum number of entires in the primary LDAP cache
    LDAPCacheTTL seconds 600 sX
    Time that cached items remain valid
    LDAPCertDBPath directory-pathsX
    Directory containing certificates for SSL support
    LDAPOpCacheEntries number 1024 sX
    Number of entries used to cache LDAP compare operations
    LDAPOpCacheTTL seconds 600 sX
    Time that entries in the operation cache remain +
    LDAPOpCacheTTL seconds 600 sX
    Time that entries in the operation cache remain valid
    LDAPSharedCacheSize bytes 102400 sX
    Size in bytes of the shared-memory cache
    <Limit method [method] ... > ... - </Limit>svdhC
    Restrict enclosed access controls to only certain HTTP +
    LDAPSharedCacheSize bytes 102400 sX
    Size in bytes of the shared-memory cache
    <Limit method [method] ... > ... + </Limit>svdhC
    Restrict enclosed access controls to only certain HTTP methods
    <LimitExcept method [method] ... > ... - </LimitExcept>svdhC
    Restrict access controls to all HTTP methods +
    <LimitExcept method [method] ... > ... + </LimitExcept>svdhC
    Restrict access controls to all HTTP methods except the named ones
    LimitRequestBody bytes 0 svdhC
    Restricts the total size of the HTTP request body sent +
    LimitRequestBody bytes 0 svdhC
    Restricts the total size of the HTTP request body sent from the client
    LimitRequestFields number 100 sC
    Limits the number of HTTP request header fields that +
    LimitRequestFields number 100 sC
    Limits the number of HTTP request header fields that will be accepted from the client
    LimitRequestFieldsize bytessC
    Limits the size of the HTTP request header allowed from the +
    LimitRequestFieldsize bytessC
    Limits the size of the HTTP request header allowed from the client
    LimitRequestLine bytes 8190 sC
    Limit the size of the HTTP request line that will be accepted +
    LimitRequestLine bytes 8190 sC
    Limit the size of the HTTP request line that will be accepted from the client
    LimitXMLRequestBody number 1000000 svdhC
    Limits the size of an XML-based request body
    Listen [IP-address:]portnumbersM
    IP addresses and ports that the server +
    LimitXMLRequestBody number 1000000 svdhC
    Limits the size of an XML-based request body
    Listen [IP-address:]portnumbersM
    IP addresses and ports that the server listens to
    ListenBacklog backlogsM
    Maximum length of the queue of pending connections
    LoadFile filename [filename] ...sE
    Link in the named object file or library
    LoadModule module filenamesE
    Links in the object file or library, and adds to the list +
    ListenBacklog backlogsM
    Maximum length of the queue of pending connections
    LoadFile filename [filename] ...sE
    Link in the named object file or library
    LoadModule module filenamesE
    Links in the object file or library, and adds to the list of active modules
    <Location - URL-path|URL> ... </Location>svC
    Applies the enclosed directives only to matching +
    <Location + URL-path|URL> ... </Location>svC
    Applies the enclosed directives only to matching URLs
    <LocationMatch - regex> ... </LocationMatch>svC
    Applies the enclosed directives only to regular-expression +
    <LocationMatch + regex> ... </LocationMatch>svC
    Applies the enclosed directives only to regular-expression matching URLs
    LockFile filename logs/accept.lock sM
    Location of the accept serialization lock file
    LogFormat format|nickname -[nickname] "%h %l %u %t \"%r\" +svB
    Describes a format for use in a log file
    LogLevel level warn svC
    Controls the verbosity of the ErrorLog
    MaxClients numbersM
    Maximum number of child processes that will be created +
    LockFile filename logs/accept.lock sM
    Location of the accept serialization lock file
    LogFormat format|nickname +[nickname] "%h %l %u %t \"%r\" +svB
    Describes a format for use in a log file
    LogLevel level warn svC
    Controls the verbosity of the ErrorLog
    MaxClients numbersM
    Maximum number of child processes that will be created to serve requests
    MaxKeepAliveRequests number 100 svC
    Number of requests allowed on a persistent +
    MaxKeepAliveRequests number 100 svC
    Number of requests allowed on a persistent connection
    MaxMemFree numbersM
    Maximum amount of memory that the main allocator is allowed -to hold without calling free()
    MaxRequestsPerChild number 10000 sM
    Limit on the number of requests that an individual child server +
    MaxMemFree KBytes 0 sM
    Maximum amount of memory that the main allocator is allowed +to hold without calling free()
    MaxRequestsPerChild number 10000 sM
    Limit on the number of requests that an individual child server +will handle during its life
    MaxRequestsPerThread number 0 sM
    Limit on the number of requests that an individual thread will handle during its life
    MaxSpareServers number
    10 sM
    Maximum number of idle child server processes
    MaxSpareThreads numbersM
    Maximum number of idle threads
    MaxThreads number 250 sM
    -
    MaxThreadsPerChild number 64 sM
    Maximum number of threads per child process
    MaxThreads number 2048 sM
    Set the maximum number of worker threads
    MaxThreadsPerChild number 64 sM
    Maximum number of threads per child process
    MCacheMaxObjectCount value 1009 sX
    The maximum number of objects allowed to be placed in the cache
    MCacheMaxObjectSize bytes 10000 sX
    The maximum size (in bytes) of a document allowed in the @@ -422,7 +427,7 @@ files
    MimeMagicFile file-pathsvE
    Enable MIME-type determination based on file contents using the specified magic file
    MinSpareServers number 5 sM
    Minimum number of idle child server processes
    MinSpareServers number 5 sM
    Minimum number of idle child server processes
    MinSpareThreads numbersM
    Minimum number of idle threads available to handle request spikes
    MMapFile file-path [file-path] ...sX
    Map a list of files into memory at startup time
    NoProxy host [host] ...svE
    Hosts, domains, or networks that will be connected to directly
    NumServers number 2 sM
    Total number of children alive at the same time
    NumServers number 2 sM
    Total number of children alive at the same time
    Options [+|-]option [[+|-]option] ... All svdhC
    Configures what features are available in a particular directory
    ScriptLogLength bytes 10385760 svB
    Size limit of the CGI script logfile
    ScriptSock file-path logs/cgisock svB
    The name of the socket to use for communication with the cgi daemon
    SendBufferSize bytessM
    TCP buffer size
    SendBufferSize bytes 0 sM
    TCP buffer size
    ServerAdmin email-addresssvC
    Email address that the server includes in error messages sent to the client
    ServerAlias hostname [hostname] ...vC
    Alternate names for a host used when matching requests to name-virtual hosts
    ServerLimit number 256 (prefork), Serv +sM
    Upper limit on configurable number of processes
    ServerLimit numbersM
    Upper limit on configurable number of processes
    ServerName fully-qualified-domain-name[:port]svC
    Hostname and port that the server uses to identify itself
    ServerPath URL-pathvC
    Legacy URL pathname for a name-based virtual host that @@ -640,13 +645,13 @@ in the Session Cache
    SSLVerifyClient level none svdhE
    Type of Client Certificate verification
    SSLVerifyDepth number 1 svdhE
    Maximum depth of CA Certificates in Client Certificate verification
    StartServers number 5 sM
    Number of child server processes created at startup
    StartThreads numbersM
    Nubmer of threads created on startup
    StartServers numbersM
    Number of child server processes created at startup
    StartThreads numbersM
    Number of threads created on startup
    SuexecUserGroup User GroupsvE
    User and group permissions for CGI programs
    ThreadLimit numbersM
    Sets the upper limit on the configurable number of threads per child process
    ThreadsPerChild numbersM
    Number of threads created by each child process
    ThreadStackSize number 65536 sM
    -
    ThreadStackSize number 65536 sM
    Determine the stack size for each thread
    TimeOut number 300 sC
    Amount of time the server will wait for certain events before failing a request
    TransferLog file|pipesvB
    Specifly location of a log file
    svdhB
    Removes variables from the environment
    UseCanonicalName On|Off|DNS On svdC
    Configures how the server determines its own name and port
    User unix-userid #-1 svM
    The userid under which the server will answer +
    User unix-userid #-1 sM
    The userid under which the server will answer requests
    UserDir directory-filename public_html svB
    Location of the user-specific directories
    VirtualDocumentRoot interpolated-directory|none none svE
    Dynamically configure the location of the document root diff --git a/docs/manual/mod/threadpool.html.en b/docs/manual/mod/threadpool.html.en new file mode 100644 index 0000000000..8015733f94 --- /dev/null +++ b/docs/manual/mod/threadpool.html.en @@ -0,0 +1,74 @@ + + + +threadpool - Apache HTTP Server + + + + + + +
    <-
    + +
    +

    Apache MPM threadpool

    + + + +
    Description:Yet another experimental variant of the standard +worker MPM
    Status:MPM
    Module Identifier:mpm_threadpool_module
    Source File:threadpool.c
    +

    Summary

    + +

    Warning

    +

    This MPM is a developer playground and highly experimental, so it + may or may not work as expected.

    +
    + +

    This is an experimental variant of the standard worker MPM. + Rather than queuing connections like the worker MPM, the + threadpool MPM queues idle worker threads and + hands each accepted connection to the next available worker.

    + +

    The threadpool MPM can't match the performance of + the worker MPM in benchmark testing. As of 2.0.39, + some of the key load-throtting concepts from the threadpool MPM have been incorporated into the worker MPM. The threadpool code is useful + primarily as a research platform. For general-purpose use and for any + production environments, use worker instead.

    +
    + + +
    + + \ No newline at end of file diff --git a/docs/manual/mod/worker.html.en b/docs/manual/mod/worker.html.en index 6c718e98cd..11e8f8c71e 100644 --- a/docs/manual/mod/worker.html.en +++ b/docs/manual/mod/worker.html.en @@ -19,7 +19,7 @@
    -

    Apache Module worker

    +

    Apache MPM worker

    @@ -40,10 +40,10 @@ MaxClients, which controls the maximum total number of threads that may be launched.

    -
    top
    diff --git a/docs/manual/sitemap.html.en b/docs/manual/sitemap.html.en index 6051e6685d..71357834e6 100644 --- a/docs/manual/sitemap.html.en +++ b/docs/manual/sitemap.html.en @@ -38,9 +38,14 @@
  • Descriptive Information
  • -
    top

    Release Notes

    + + -- 2.40.0
    Description:Multi-Processing Module implementing a hybrid multi-threaded multi-process web server
    Status:MPM