Apache HTTP Server Version 2.2

| Beschreibung: | Eine Sammlung von Direktiven, die in mehr als einem Multi-Processing-Modul (MPM) implementiert sind. |
|---|---|
| Status: | MPM |
| Beschreibung: | Vom Apache verwendete Methode zur Serialisierung mehrerer Kindprozesse, die Anfragen an Netzwerk-Sockets entgegennehmen. |
|---|---|
| Syntax: | AcceptMutex Default|Methode |
| Voreinstellung: | AcceptMutex Default |
| Kontext: | Serverkonfiguration |
| Status: | MPM |
| Modul: | leader, perchild, prefork, threadpool, worker |
Die Direktive AcceptMutex bestimmt die
Methode, die der Apache zur Serialisierung mehrerer Kindprozesse
verwendet, welche Anfragen an Netzwerk-Sockets entgegennehmen. Vor
Apache 2.0 war diese Methode nur zur Kompilierungszeit einstellbar.
Die optimale Methode ist sehr stark von der Architektur und
Plattform abh�ngig. Lesen Sie bitte Perfomance-Hinweise f�r
weitere Details.
Wenn die Direktive auf Default eingestellt ist, dann
wird die zur Kompilierungszeit gew�hlte Voreinstellung verwendet.
Weitere m�gliche Methoden sind unten angegeben. Beachten Sie, dass
nicht alle Methoden auf allen Plattformen verf�gbar sind. Wird
eine Methode angegeben, die nicht verf�gbar ist, dann wird
eine Nachricht in das Fehlerprotokoll geschrieben, welche die
verf�gbaren Methoden auflistet.
flockflock(2), um die
durch die LockFile-Direktive definierte Datei zu sperren.fcntlfcntl(2), um die
durch die LockFile-Direktive definierte Datei zu sperren.posixsempthreadsysvsemUm die bei der Kompilierung gew�hlte Voreinstellung f�r
Ihr System herauszufinden, k�nnen Sie Ihr LogLevel auf debug setzen. Dann wird der
voreingestellte AcceptMutex ins ErrorLog geschrieben.
Auf den meisten Systemen stoppt der Server mit der Beantwortung von
Anfragen, wenn die Option pthread ausgew�hlt wurde und
ein Kindprozess unkontrolliert endet w�hrend er den
AcceptCntl-Mutex h�lt. In diesem Fall muss der Server
manuell neu gestartet werden, um wieder weiter zu arbeiten.
Eine Ausnahme stellt Solaris dar, da es einen Mechanismus anbietet, den der Apache verwendet und der �blicherweise die Freigabe des Mutex erlaubt, nachdem ein Kindprozess, der gerade einen Mutex h�lt, abgest�rzt ist.
Wenn Ihr System die Funktion
pthread_mutexattr_setrobust_np() bereitstellt, k�nnen
Sie wahrscheinlich die Option pthread problemlos
verwenden.
| Beschreibung: | Verzeichnis, in das der Apache zu wechseln versucht, bevor er einen Hauptspeicherauszug erstellt |
|---|---|
| Syntax: | CoreDumpDirectory Verzeichnis |
| Voreinstellung: | F�r die Voreinstellung siehe Beschreibung |
| Kontext: | Serverkonfiguration |
| Status: | MPM |
| Modul: | beos, leader, mpm_winnt, perchild, prefork, threadpool, worker |
Dies beeinflusst das Verzeichnis, in welches der Apache zu wechseln
versucht, bevor er einen Hauptspeicherauszug (Anm.d.�.: einen
so genannten Core-Dump) erstellt. Die Voreinstellung ist das
ServerRoot-Verzeichnis. Da dieses
jedoch nicht f�r den Benutzer beschreibbar sein soll, unter dem
der Server l�uft, werden normalerweise keine
Hauptspeicherausz�ge geschrieben. Wenn Sie zum Debuggen
einen Hauptspeicherauszug haben m�chten, k�nnen Sie
ihn mit dieser Direktive an einem anderen Ort ablegen lassen.
Wenn Apache als root startet und zu einem anderen Benutzer
wechselt, deaktiviert der Linux-Kernel Hauptspeicherausz�ge
auch dann, wenn der Prozess in dem Verzeichnis schreiben darf. Ab Linux
2.4 reaktiviert Apache (ab 2.0.46) Hauptspeicherausz�ge wieder,
jedoch nur dann, wenn Sie explizit
CoreDumpDirectory konfigurieren.
| Beschreibung: | Aktiviert einen Hook, der nach einem Absturz noch Ausnahmefehler behandeln lassen kann |
|---|---|
| Syntax: | EnableExceptionHook On|Off |
| Voreinstellung: | EnableExceptionHook Off |
| Kontext: | Serverkonfiguration |
| Status: | MPM |
| Modul: | leader, perchild, prefork, threadpool, worker |
| Kompatibilit�t: | Verf�gbar seit Version 2.0.49 |
Diese Direktive ist aus Sicherheitsgr�nden nur verf�gbar,
wenn der Server mit der Option --enable-exception-hook
konfiguriert wurde. Sie aktiviert einen Hook, der es externen Modulen
erlaubt, sich dort einzuh�ngen und nach dem Absturz eines
Kindprozesses noch Aktionen durchzuf�hren.
Es existieren bereits zwei Module, mod_whatkilledus und
mod_backtrace, welche diesen Hook verwenden. Weitere
Informationen hierzu finden Sie auf Jeff Trawicks EnableExceptionHook-Seite.
| Beschreibung: | Benutzergruppe, unter welcher der Server Anfragen beantwortet |
|---|---|
| Syntax: | Group Unix-Gruppe |
| Voreinstellung: | Group #-1 |
| Kontext: | Serverkonfiguration |
| Status: | MPM |
| Modul: | beos, leader, mpmt_os2, perchild, prefork, threadpool, worker |
| Kompatibilit�t: | Seit Apache 2.0 nur in der globalen Server-Konfiguration g�ltig |
Die Direktive Group bestimmt die
Benutzergruppe, unter welcher der Server Anfragen beantwortet.
Um diese Direktive zu verwenden, muss der Server als root gestartet
werden. Wenn Sie den Server unter einem nicht-root-Benutzer starten,
wird er nicht zur angegebenen Gruppe wechseln k�nnen und statt
dessen weiter mit der Gruppe des urspr�nglichen Benutzers
laufen. Unix-Gruppe kann sein:
# gefolgt von einer Gruppennummer.
Group www-group
Es wird empfohlen, dass Sie eine neue Gruppe speziell zum Betrieb
des Servers erstellen. Einige Administratoren verwenden den Benutzer
nobody. Dies ist jedoch nicht immer m�glich
oder gew�nscht.
Setzen Sie Group (oder User) nicht auf root,
solange Sie nicht ganz genau wissen, was Sie tun und welche Gefahren
Sie eingehen.
Wichtiger Hinweis: Die Verwendung der Direktive innerhalb von
<VirtualHost>
wird nicht l�nger unterst�tzt. Benutzen Sie SuexecUserGroup um Ihren Server
f�r suexec einzurichten.
| Beschreibung: | IP-Adressen und Ports, an denen der Server lauscht |
|---|---|
| Syntax: | Listen [IP-Addresse:]Port |
| Kontext: | Serverkonfiguration |
| Status: | MPM |
| Modul: | beos, leader, mpm_netware, mpm_winnt, mpmt_os2, perchild, prefork, threadpool, worker |
| Kompatibilit�t: | Seit Apache 2.0 vorgeschrieben |
Die Direktive Listen weist den Apache an,
nur an den angegebenen IP-Adressen oder Ports zu lauschen.
Standardm��ig antwortet er auf alle Anfragen an allen
IP-Interfaces. Listen ist nun eine notwendige
Anweisung. Wenn sie nicht in der Konfigurationsdatei enthalten ist,
wird der Server-Start fehlschlagen. Dies ist eine �nderung
gegen�ber fr�heren Versionen des Apache.
Die Direktive Listen weist den Server an,
ankommende Anfragen am angegebenen Port oder der
Kombination aus Adresse und Port entgegenzunehmen. Wenn nur eine Portnummer
angegeben ist, dann lauscht der Server am angegebenen Port an allen
Interfaces. Wenn sowohl eine IP-Adresse als auch ein Port angegeben
sind, dann lauscht der Server am angegeben Port und Interface.
Es k�nnen mehrere Listen-Anweisungen
verwendet werden, um eine Reihe von Adressen und Port anzugeben, an
denen gelauscht werden soll. Der Server antwortet auf Anfragen von
jedem der aufgef�hrten Adressen und Ports.
Um beispielsweise den Server Verbindungen an den beiden Ports 80 und 8000 annehmen zu lassen, verwenden Sie:
Listen 80
Listen 8000
Um den Server Verbindungen an zwei angegebenen Interfaces und Ports annehmen zu lassen, verwenden Sie:
Listen 192.170.2.1:80
Listen 192.170.2.5:8000
IPv6-Adressen m�ssen wie in dem folgenden Beispiel in eckige Klammern eingeschlossen werden:
Listen [2001:db8::a00:20ff:fea7:ccea]:80
Listen-Direktiven f�r gleiche
IP-Adresse und Port f�hren zur Fehlermeldung
Address already in use (Anm.d.�.: Adresse schon in
Benutzung).
| Beschreibung: | Maximale L�nge der Warteschlange schwebender Verbindungen |
|---|---|
| Syntax: | ListenBacklog backlog |
| Voreinstellung: | ListenBacklog 511 |
| Kontext: | Serverkonfiguration |
| Status: | MPM |
| Modul: | beos, leader, mpm_netware, mpm_winnt, mpmt_os2, perchild, prefork, threadpool, worker |
Die maximale L�nge der Warteschlange schwebender Verbindungen.
�blicherweise ist keine Feineinstellung notwendig oder sinnvoll,
auf einigen System kann es jedoch gew�nscht sein, diesen Wert bei
TCP-SYN-Angriffen zu erh�hen. Beachten Sie auch die Beschreibung des
backlog-Parameters der Systemfunktion listen(2).
Der Wert wird vom Betriebssystem oft auf eine niedrigere Einstellung begrenzt. Dies variiert von Betriebssystem zu Betriebssystem. Beachten Sie auch, dass viele Betriebssyteme nicht genau beachten, was f�r backlog angegeben ist, jedoch einen Wert basierend auf der Angabe (normalerweiseweise jedoch gr��er als diese) verwenden.
| Beschreibung: | Ablageort der Lock-Datei f�r die Serialisierung von entgegengenommenen Anfragen |
|---|---|
| Syntax: | LockFile Dateiname |
| Voreinstellung: | LockFile logs/accept.lock |
| Kontext: | Serverkonfiguration |
| Status: | MPM |
| Modul: | leader, perchild, prefork, threadpool, worker |
Die Direktive LockFile legt den Pfad zur
Lock-Datei fest, die verwendet wird, wenn der Apache mit einer der
AcceptMutex-Einstellungen
fcntl oder flock verwendet wird. Die Anweisung
sollte normalerweise bei der Voreinstellung belassen werden.
Der Hauptgrund, sie zu �ndern, ist, wenn das
logs-Verzeichnis auf einem per NFS-eingebundenen Laufwerk
liegt, da die Lock-Datei auf einer lokalen Platte abgelegt sein
muss. Die PID (Anm.d.�.: Prozess-ID) des
Hauptserverprozesses wird automatisch an den Dateinamen angeh�ngt.
Es ist am besten, die Ablage in einem allgemein (Anm.d.�.: f�r
jedermann) beschreibbaren
Verzeichnis wie /var/tmp zu vermeiden, da
ein Denial-of-Servide-Angriff gestartet werden k�nnte und der
Server am Start gehindert werden k�nnte, indem eine Lock-Datei
mit dem gleichen Namen erstellt wird, wie der Server sie zu erstellen
versuchen w�rde.
| Beschreibung: | Maximale Anzahl der Kindprozesse, die zur Bedienung von Anfragen gestartet wird |
|---|---|
| Syntax: | MaxClients Anzahl |
| Voreinstellung: | F�r Details siehe Beschreibung |
| Kontext: | Serverkonfiguration |
| Status: | MPM |
| Modul: | beos, leader, prefork, threadpool, worker |
Die Direktive MaxClients setzt die Grenze
f�r die Anzahl gleichzeitig bedienter Anfragen. Jeder
Verbindungsversuch oberhalb der MaxClients-Begrenzung wird �blicherweise in eine
Warteschlange gestellt, bis zu einer Anzahl basierend auf der
ListenBacklog-Anweisung.
Sobald ein Kindprozess am Ende einer anderen Anfrage freigegeben wird,
wird die Verbindung bedient.
F�r Server ohne Thread-Unterst�tzung (z.B.
prefork) wird MaxClients als
maximale Anzahl der Kindprozesse verstanden, die zur Bedienung von
Anfragen gestartet werden. Die Voreinstellung ist 256. Um
diesen Wert zu erh�hen, muss auch ServerLimit angehoben werden.
Bei Servern mit Thread-Unterst�tzung und bei Hybrid-Servern
(z.B. beos oder worker)
begrenzt MaxClients die Gesamtzahl der Threads,
die f�r die Bedienung von Anfragen verf�gbar sind.
Die Voreinstellung f�r beos ist 50.
Bei Hybrid-MPMs ist die Voreinstellung 16 (ServerLimit) multipliziert mit
dem Wert 25 (ThreadsPerChild). Um MaxClients
auf einen Wert zu erh�hen, der mehr als 16 Prozesse erfordert,
m�ssen Sie daher auch ServerLimit anheben.
| Beschreibung: | Maximale Menge des Arbeitsspeichers, den die
Haupt-Zuteilungsroutine verwalten darf, ohne free()
aufzurufen |
|---|---|
| Syntax: | MaxMemFree KBytes |
| Voreinstellung: | MaxMemFree 0 |
| Kontext: | Serverkonfiguration |
| Status: | MPM |
| Modul: | beos, leader, mpm_netware, prefork, threadpool, worker, mpm_winnt |
Die Direktive MaxMemFree gibt die maximale
Menge freier Kilobytes an, welche die Haupt-Zuteilungsroutine verwalten
darf, ohne free() aufzurufen. Wenn keine Angabe gemacht wird,
oder Null angegeben ist, wird dieser Wert nicht eingeschr�nkt.
| Beschreibung: | Obergrenze f�r die Anzahl von Anfragen, die ein einzelner Kindprozess w�hrend seines Lebens bearbeitet |
|---|---|
| Syntax: | MaxRequestsPerChild number |
| Voreinstellung: | MaxRequestsPerChild 10000 |
| Kontext: | Serverkonfiguration |
| Status: | MPM |
| Modul: | leader, mpm_netware, mpm_winnt, mpmt_os2, perchild, prefork, threadpool, worker |
Die Direktive MaxRequestsPerChild legt die
Grenze f�r die Anzahl von Anfragen fest, die ein einzelner
Kinprozess w�hrend seines Lebens bearbeitet. Nach
MaxRequestsPerChild Anfragen stirbt der
Kindprozess. Wenn MaxRequestsPerChild
0 ist, endet der Prozess niemals.
Die Voreinstellung f�r mpm_netware und
mpm_winnt ist 0.
Die Begrenzung von MaxRequestsPerChild auf einen
Wert ungleich Null hat zwei vorteilhafte Auswirkungen:
Bei KeepAlive-Anfragen
wird nur die erste Anfrage f�r diese begrenzung gez�hlt.
Eigentlich wird nur die Begrenzung f�r die Anzahl der
Verbindungen pro Kindprozess ge�ndert.
| Beschreibung: | Maximale Anzahl unbesch�ftigter Threads |
|---|---|
| Syntax: | MaxSpareThreads Anzahl |
| Voreinstellung: | F�r Details siehe Beschreibung |
| Kontext: | Serverkonfiguration |
| Status: | MPM |
| Modul: | beos, leader, mpm_netware, mpmt_os2, perchild, threadpool, worker |
Maximale Anzahl unbesch�ftigter Threads. Die verschiedenen MPMs behandeln diese Anweisung unterschiedlich.
Die Voreinstellung f�r perchild ist
MaxSpareThreads 10. Das MPM �berwacht die Anzahl der
unbesch�ftigten Threads auf der Basis einzelner Kindprozesse. Wenn
zu viele unbesch�ftigte Threads in einem Kindprozess existieren,
beendet der Server Threads innerhalb dieses Kindprozesses.
Die Voreinstellung f�r worker,
leader und threadpool ist
MaxSpareThreads 250. Diese MPMs behandeln Threads
auf einer serverweiten Basis. Wenn zu viele unbesch�ftigte Threads
im Server existieren, dann werden solange Kindprozesse beendet, bis
die Anzahl der unbesch�ftigten Threads kleiner als der
angegebene Wert ist.
Die Voreinstellung f�r mpm_netware ist
MaxSpareThreads 100. Da dieses MPM nur einen einzigen
Prozess ausf�hrt, ist die Z�hlung �bersch�ssiger
Threads ebenfalls serverweit.
beos and mpmt_os2 arbeiten
�hnlich wie mpm_netware. Die Voreinstellung
f�r beos ist MaxSpareThreads 50.
Die Voreinstellung f�r mpmt_os2 ist
10.
Der Wertebereich von MaxSpareThreads
ist eingeschr�nkt. Apache korrigiert den angegebenen Wert
automatisch gem�� den folgenden Regeln:
perchild verlangt, dass MaxSpareThreads kleiner oder gleich ThreadLimit ist.mpm_netware verlangt einen Wert gr��er
als MinSpareThreads.leader, threadpool und
worker muss der Wert gr��er oder gleich
der Summe aus MinSpareThreads und
ThreadsPerChild sein.| Beschreibung: | Minimale Anzahl unbesch�ftigter Threads, die zur Bedienung von Anfragespitzen zur Verf�gung stehen |
|---|---|
| Syntax: | MinSpareThreads Anzahl |
| Voreinstellung: | F�r Details siehe Beschreibung |
| Kontext: | Serverkonfiguration |
| Status: | MPM |
| Modul: | beos, leader, mpm_netware, mpmt_os2, perchild, threadpool, worker |
Minimale Anzahl unbesch�ftigter Threads, um Anfragespitzen zu bedienen. Die verschiedenen MPMs behandeln die Anweisung unterschiedlich.
perchild verwendet die Voreinstellung
MinSpareThreads 5 und �berwacht die Anzahl der
unbesch�ftigten Threads auf der Basis einzelner Kindprozesse. Wenn
in einem Kindprozess nicht gen�gend unbesch�ftigte
Threads vorhanden sind, erstellt der Server neue Threads innerhalb
dieses Kindprozesses. Wenn Sie also NumServers auf 10 und MinSpareThreads auf einen Wert von 5 setzen,
haben Sie mindestens 50 unbesch�ftigte Threads auf Ihrem
System.
worker, leader und
threadpool verwenden eine Voreinstellung von
MinSpareThreads 75 und behandeln unbesch�ftigte
Threads auf serverweiter Basis. Wenn nicht gen�gend
unbesch�ftigte Threads im Server vorhanden sind, dann
werden solange Kindprozesse erzeugt, bis die Anzahl unbesch�ftigter
Threads gr��er als der angegebene Wert ist.
mpm_netware verwendet die Voreinstellung
MinSpareThreads 10 und verfolgt dies serverweit, da
es ein Einzelprozess-MPM ist.
beos und mpmt_os2 arbeiten
�hnlich wie mpm_netware. Die Voreinstellung
f�r beos ist MinSpareThreads 1.
Die Voreinstellung f�r mpmt_os2 ist
5.
| Beschreibung: | Datei, in welcher der Server die Prozess-ID des Daemons ablegt |
|---|---|
| Syntax: | PidFile Dateiname |
| Voreinstellung: | PidFile logs/httpd.pid |
| Kontext: | Serverkonfiguration |
| Status: | MPM |
| Modul: | beos, leader, mpm_winnt, mpmt_os2, perchild, prefork, threadpool, worker |
Die Direktive PidFile bestimmt die Datei,
in welcher der Server die Prozess-ID des Daemons ablegt. Wenn der
Dateiname nicht absolut angegeben wird, wird er relativ zu
ServerRoot interpretiert.
PidFile /var/run/apache.pid
Es ist oft hilfreich, dem Server ein Signal senden zu k�nnen,
damit er seine ErrorLogs und
TransferLogs
schlie�t und dann neu �ffnet und seine
Konfigurationsdateien neu einliest. Dies kann durch Senden eines
SIGHUP-Signals (kill -1) an die Prozess-ID geschehen, die im
PidFile eingetragen ist.
Die PidFile-Datei unterliegt den
gleichen Warnungen �ber die Ablage von Protokolldateien
und Sicherheit.
Ab Apache 2 wird empfohlen, nur das Skript apache2ctl zum (Neu-)Starten und Stoppen des Servers zu
verwenden.
| Beschreibung: | Ablageort der Datei, die zur Speicherung von Daten zur Koordinierung der Kindprozesse verwendet wird |
|---|---|
| Syntax: | ScoreBoardFile Dateipfad |
| Voreinstellung: | ScoreBoardFile logs/apache_status |
| Kontext: | Serverkonfiguration |
| Status: | MPM |
| Modul: | beos, leader, mpm_winnt, perchild, prefork, threadpool, worker |
Apache verwendet ein Scoreboard zur Kommunikation zwischen seinen Eltern- und Kindprozessen. Einige Architekturen erfordern eine Datei zur Unterst�tzung der Kommunikation. Wenn die Datei undefiniert bleibt, versucht der Apache zuerst, das Scoreboard im Arbeitsspeicher zu erstellen (Verwendung von anonymem Shared-Memory), und versucht bei einem Fehlschlag anschlie�end die Datei auf der Festplatte zu erstellen (Verwendung von Datei-basiertem Shared-Memory). Die Angabe dieser Direktive veranla�t den Apache stets, die Datei auf der Festplatte zu erstellen.
ScoreBoardFile /var/run/apache_status
Datei-basiertes Shared-Memory ist f�r Applikationen von Drittanbietern hilfreich, die direkten Zugriff auf das Scoreboard ben�tigen.
Wenn Sie eine ScoreBoardFile-Anweisung
verwenden, erreichen Sie eventuell eine h�here Geschwindigkeit, wenn
Sie die Datei auf einer RAM-Disk ablegen. Achten Sie darauf, die
gleichen Warnungen wie �ber die Ablage von Protokolldateien und
Sicherheit zu beherzigen.
| Beschreibung: | Gr��e des TCP-Puffers |
|---|---|
| Syntax: | SendBufferSize Bytes |
| Voreinstellung: | SendBufferSize 0 |
| Kontext: | Serverkonfiguration |
| Status: | MPM |
| Modul: | beos, leader, mpm_netware, mpm_winnt, mpmt_os2, perchild, prefork, threadpool, worker |
Der Server setzt die Gr��e des TCP-Puffers auf die angegebene Anzahl Bytes. Dies ist sehr hilfreich, um Voreinstellungen alter Standardbetriebssysteme f�r Hochgeschwindigkeitsverbindungen mit hoher Latenzzeit anzuheben (d.h. 100ms oder so, wie bei Interkontinentalverbindungen).
Wird der Wert auf 0 gesetzt, dann verwendet der Server
die Voreinstellung des Betriebssystems.
| Beschreibung: | Obergrenze f�r die konfigurierbare Anzahl von Prozessen |
|---|---|
| Syntax: | ServerLimit Anzahl |
| Voreinstellung: | F�r Details siehe Beschreibung |
| Kontext: | Serverkonfiguration |
| Status: | MPM |
| Modul: | leader, perchild, prefork, threadpool, worker |
Bei dem MPM prefork bestimmt die Direktive
den w�hrend der Lebensdauer des Apache-Prozesses maximal
einstellbaren Wert f�r MaxClients. Beim MPM
worker bestimmt die Direktive in Verbindung mit
ThreadLimit den Maximalwert
f�r MaxClients
f�r die Lebensdauer des Apache-Prozesses. Jeder Versuch, diese
Anweisung w�hrend eines Neustarts zu �ndern, wird ignoriert.
MaxClients kann jedoch
w�hrend eines Neustarts ge�ndert werden.
Lassen Sie besondere Vorsicht bei der Verwendung dieser Direktive
walten. Wenn ServerLimit auf einen Wert deutlich
h�her als notwendig gesetzt wird, wird zus�tzliches,
unbenutztes Shared-Memory belegt. Wenn sowohl
ServerLimit als auch MaxClients auf Werte gesetzt werden, die
gr��er sind, als das System sie handhaben kann, dann kann
der Apache m�glicherweise nicht starten, oder das System kann
instabil werden.
Verwenden Sie die Direktive bei dem MPM prefork
nur, wenn Sie MaxClients
auf mehr als 256 (Voreinstellung) setzen m�ssen. Setzen Sie den
Wert nicht h�her als den Wert, den Sie f�r MaxClients angeben m�chten.
Verwenden Sie die Direktive bei worker,
leader und threadpool nur, wenn Ihre
MaxClients- und
ThreadsPerChild-Einstellungen
mehr als 16 Serverprozesse (Voreinstellung) erfordern. Setzen Sie den
Wert dieser Direktive nicht h�her, als die Anzahl der Serverprozesse,
die daf�r erforderlich ist, was Sie bei MaxClients und
ThreadsPerChild angeben
m�chten.
Verwenden Sie die Direktive beim MPM perchild nur,
wenn Sie NumServers auf einen
Wert gr��er als 8 (Voreinstellung) setzen m�ssen.
Eine feste Begrenzung von ServerLimit 20000 ist in den
Server einkompiliert (bei dem MPM prefork 200000).
Dies soll unangenehme Effekte durch Tippfehler verhindern.
| Beschreibung: | Anzahl der Kindprozesse des Servers, die beim Start erstellt werden |
|---|---|
| Syntax: | StartServers Anzahl |
| Voreinstellung: | F�r Details siehe Beschreibung |
| Kontext: | Serverkonfiguration |
| Status: | MPM |
| Modul: | leader, mpmt_os2, prefork, threadpool, worker |
Die Direktive StartServers bestimmt
die Anzahl der Kindprozesse des Servers, die beim Start erstellt
werden. Da die Anzahl der Prozesse abh�ngig von der Last
dynamisch kontrolliert wird, besteht normalerweise wenig
Grund f�r eine �nderung dieses Parameters.
Die Voreinstellung unterscheidet sich von MPM zu MPM. Bei
leader, threadpool und
worker ist die Voreinstellung
StartServers 3. Die Voreinstellung bei
prefork ist 5 und bei
mpmt_os2 2.
| Beschreibung: | Anzahl der Threads, die beim Start erstellt werden |
|---|---|
| Syntax: | StartThreads Anzahl |
| Voreinstellung: | F�r Details siehe Beschreibung |
| Kontext: | Serverkonfiguration |
| Status: | MPM |
| Modul: | beos, mpm_netware, perchild |
Anzahl der Threads, die beim Start erstellt werden. Da die Anzahl der Threads abh�ngig von der Last dynamisch kontrolliert wird, besteht normalerweise wenig Grund f�r eine �nderung dieses Parameters.
Die Voreinstellung f�r perchild ist
StartThreads 5. Die Direktive setzt w�hrend des
Starts die Anzahl der Threads pro Prozess.
Die Voreinstellung bei mpm_netware ist
StartThreads 50. Da hier lediglich ein einzelner Prozess
existiert, ist dies die Gesamtzahl der Threads, die beim Start
erstellt wird, um Anfragen zu bedienen.
Die Voreinstellung f�r beos ist StartThreads
10. Die Einstellung reflektiert ebenfalls die Gesamtzahl der Threads, die
beim Start erstellt werden, um Anfragen zu bedienen.
| Beschreibung: | Bestimmt die Obergrenze der konfigurierbaren Anzahl von Threads pro Kindprozess |
|---|---|
| Syntax: | ThreadLimit Anzahl |
| Voreinstellung: | F�r Details siehe Beschreibung |
| Kontext: | Serverkonfiguration |
| Status: | MPM |
| Modul: | leader, mpm_winnt, perchild, threadpool, worker |
| Kompatibilit�t: | Verf�gbar f�r mpm_winnt ab
Apache 2.0.41 |
Die Direktive bestimmt den w�hrend der Lebensdauer des
Apache-Prozesses maximal einstellbaren Wert f�r
ThreadsPerChild. Jeder
Versuch, diese Direktive w�hrend eines Neustarts zu �ndern,
wird ignoriert. ThreadsPerChild
kann jedoch w�hrend eines Neustarts modifiziert werden bis zu dem
Wert dieser Anweisung.
Lassen Sie besondere Vorsicht bei der Verwendung dieser Direktive
walten. Wenn ThreadLimit auf einen Wert
deutlich h�her als ThreadsPerChild gesetzt wird, wird
zus�tzliches, ungenutztes Shared-Memory belegt. Wenn sowohl
ThreadLimit als auch ThreadsPerChild auf Werte gesetzt werden,
die gr��er sind, als das System sie handhaben kann, dann kann
der Apache m�glicherweise nicht starten oder das System kann
instabil werden. Setzen Sie den Wert dieser Direktive nicht h�her
als Ihre gr��te erwartete Einstellung f�r
ThreadsPerChild
w�hrend der aktuellen Ausf�hrung des Apache.
Die Voreinstellung f�r ThreadLimit ist
1920 wenn sie zusammen mit mpm_winnt
verwendet wird, und 64 bei der Verwendung mit anderen
MPMs.
Eine feste Begrenzung von ThreadLimit 20000
(oder ThreadLimit 15000 bei mpm_winnt)
ist in den Server einkompiliert. Dies soll unangenehme Effekte durch
Tippfehler verhindern.
| Beschreibung: | Anzahl der Threads, die mit jedem Kindprozess gestartet werden |
|---|---|
| Syntax: | ThreadsPerChild Anzahl |
| Voreinstellung: | F�r Details siehe Beschreibung |
| Kontext: | Serverkonfiguration |
| Status: | MPM |
| Modul: | leader, mpm_winnt, threadpool, worker |
Die Direktive legt die Anzahl der Threads fest, die mit jedem
Kindprozess gestartet werden. Der Kindprozess erstellt diese Threads
beim Start und erstellt sp�ter keine weiteren mehr. Wenn Sie ein
MPM wie mpm_winnt verwenden, wo nur ein
Kindprozess existiert, dann sollte diese Angabe hoch genug sein,
die gesamte Last des Servers zu bew�ltigen. Wenn Sie ein MPM
wie worker verwenden, wo mehrere Kindprozesse
existieren, dann sollte die Gesamtzahl der Thread gro�
genug sein, die �bliche Last auf dem Server zu bew�ltigen.
Die Voreinstellung f�r ThreadsPerChild ist
64, wenn mpm_winnt verwendet wird, und
25 bei der Verwendung der anderen MPMs.
| Beschreibung: | Die Gr��e des Stacks in Bytes, der von Threads verwendet wird, die Client-Verbindungen bearbeiten. |
|---|---|
| Syntax: | ThreadStackSize size |
| Voreinstellung: | 65536 unter NetWare; variiert bei anderen Betriebssystemen. |
| Kontext: | Serverkonfiguration |
| Status: | MPM |
| Modul: | leader, mpm_netware, mpm_winnt, perchild, threadpool, worker |
| Kompatibilit�t: | Verf�gbar seit Version 2.1 |
Die Direktive ThreadStackSize legt die
Gr��e des Stacks (f�r Autodaten) der Threads fest, die
Client-Verbindungen bearbeiten und Module aufrufen, welche bei der
Verarbeitung dieser Verbindungen helfen. In den meisten F�llen ist die
Voreinstellung des Betriebssystems angemessen, doch unter bestimmten
Umst�nden kann es sinnvoll sein, den Wert anzupassen:
ThreadStackSize auf einen h�heren Wert als die
Betriebssystemvoreinstellung setzen. Eine solche Anpassung ist nur
notwendig, wenn es vom Anbieter des Moduls so spezifiziert wurde oder die
Diagnose eines Apache-Absturzes ergeben hat, das die
Thread-Stackgr��e zu klein war.ThreadStackSize
auf einen Wert kleiner als die Betriebssystemvoreinstellung gesetzt wird.
Da es einzelne Anfragen geben kann, die mehr Stack zur Verarbeitung
ben�tigen, sollte eine derartige Korrektur ausschlie�lich in
Testumgebungen zum Einsatz kommen, auf denen die gesamte
Webserververarbeitung ausprobiert werden kann. Eine �nderung der
Webserverkonfiguration kann den aktuellen Wert der
ThreadStackSize ung�ltig machen.| Beschreibung: | Die Benutzerkennung, unter welcher der Server Anfragen beantwortet |
|---|---|
| Syntax: | User Unix-User-ID |
| Voreinstellung: | User #-1 |
| Kontext: | Serverkonfiguration |
| Status: | MPM |
| Modul: | leader, perchild, prefork, threadpool, worker |
| Kompatibilit�t: | Seit Apache 2.0 nur in der globalen Server-Konfiguration g�ltig |
Die Direktive User legt die Benutzerkennung
fest, mit der der Server Anfragen beantwortet. Um diese Anweisung
zu verwenden, muss der Server als root gestartet werden.
Wenn Sie den Server unter einem nicht-root-Benutzer starten, kann
er nicht zu dem minder privilegierten Benutzer wechseln und wird statt
dessen weiter mit der urspr�nglichen Benutzerkennung laufen.
Wenn Sie den Server als root starten, dann ist es normal,
dass der Elternprozess als root weiterl�uft.
Unix-User-ID kann sein:
Der Benutzer sollte keine Rechte besitzen, die dazu f�hren,
dass er in der Lage ist, auf Dateien zuzugreifen, die nicht daf�r
bestimmt sind, f�r die Au�enwelt sichtbar zu sein.
Gleicherma�en sollte der Benutzer nicht in der Lage sein,
Code auszuf�hren, der nicht f�r HTTP-Anfragen bestimmt ist.
Es wird empfohlen, einen neuen Benutzer und eine neue Gruppe speziell
zur Ausf�hrung des Servers zu erstellen. Einige Administratoren
verwenden den Benutzer nobody. Dies ist jedoch nicht
immer w�nschenswert, da der Benuter nobody andere
Rechte auf dem System besitzen kann.
Setzen Sie User (oder Group) nicht auf root,
solange Sie nicht genau wissen, was Sie tun, und welches die Gefahren
sind.
Beim MPM perchild, das daf�r gedacht ist,
virtuelle Hosts unter verschiedenen Benutzerkennungen auszuf�hren,
bestimmt die Direktive User die
Benutzerkennung f�r den Hauptserver und bildet den R�ckfallwert
f�r <VirtualHost>-Abschnitte ohne eine
AssignUserID-Anweisung.
Wichtiger Hinweis: Die Verwendung dieser Direktive innerhalb von
<VirtualHost> wird
nicht mehr unterst�tzt. Benutzen Sie SuexecUserGroup, um Ihren Server
f�r suexec einzurichten.