<-
Apache > HTTP-Server > Dokumentation > Version 2.2 > Module

Allgemeine Direktiven der Apache-MPMs

Verf�gbare Sprachen:  de  |  en  |  ja  |  tr 

Diese �bersetzung ist m�glicherweise nicht mehr aktuell. Bitte pr�fen Sie die englische Version auf die neuesten �nderungen.
Beschreibung:Eine Sammlung von Direktiven, die in mehr als einem Multi-Processing-Modul (MPM) implementiert sind.
Status:MPM

Direktiven

top

AcceptMutex-Direktive

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.

flock
verwendet die Systemfunktion flock(2), um die durch die LockFile-Direktive definierte Datei zu sperren.
fcntl
verwendet die Systemfunktion fcntl(2), um die durch die LockFile-Direktive definierte Datei zu sperren.
posixsem
verwendet POSIX-kompatible Semaphore, um den Mutex zu implementieren.
pthread
verwendet gem�� der POSIX-Thread-Spezifikation implementierte POSIX-Mutexe.
sysvsem
verwendet Semaphoren des SysV-Typs, um den Mutex zu implementieren.

Um 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.

Warnung

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.

top

CoreDumpDirectory-Direktive

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.

Hauptspeicherausz�ge unter Linux

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.

top

EnableExceptionHook-Direktive

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.

top

Group-Direktive

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:

Ein Gruppenname
Verweist auf die durch den Namen angegebene Gruppe.
# gefolgt von einer Gruppennummer.
Verweist auf die durch ihre Nummer angegebene Gruppe.

Beispiel

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.

Sicherheit

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.

Anmerkung

Obwohl die Direktive Group in den MPMs beos und mpmt_os2 existiert, ist sie dort tats�chlich eine Leeranweisung und exisitert nur aus Kompatibilit�tsgr�nden.

top

Listen-Direktive

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

Fehlerm�glichkeit

Mehrere Listen-Direktiven f�r gleiche IP-Adresse und Port f�hren zur Fehlermeldung Address already in use (Anm.d.�.: Adresse schon in Benutzung).

Siehe auch

top

ListenBackLog-Direktive

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.

top

LockFile-Direktive

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.

Sicherheit

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.

Siehe auch

top

MaxClients-Direktive

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.

top

MaxMemFree-Direktive

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.

top

MaxRequestsPerChild-Direktive

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.

Abweichende Voreinstellungen

Die Voreinstellung f�r mpm_netware und mpm_winnt ist 0.

Die Begrenzung von MaxRequestsPerChild auf einen Wert ungleich Null hat zwei vorteilhafte Auswirkungen:

Anmerkung

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.

top

MaxSpareThreads-Direktive

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.

Restriktionen

Der Wertebereich von MaxSpareThreads ist eingeschr�nkt. Apache korrigiert den angegebenen Wert automatisch gem�� den folgenden Regeln:

Siehe auch

top

MinSpareThreads-Direktive

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.

Siehe auch

top

PidFile-Direktive

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.

Beispiel

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.

Anmerkung

Ab Apache 2 wird empfohlen, nur das Skript apache2ctl zum (Neu-)Starten und Stoppen des Servers zu verwenden.

top

ScoreBoardFile-Direktive

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.

Beispiel

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.

Siehe auch

top

SendBufferSize-Direktive

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.

top

ServerLimit-Direktive

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.

Anmerkung

Eine feste Begrenzung von ServerLimit 20000 ist in den Server einkompiliert (bei dem MPM prefork 200000). Dies soll unangenehme Effekte durch Tippfehler verhindern.

Siehe auch

top

StartServers-Direktive

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.

top

StartThreads-Direktive

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.

top

ThreadLimit-Direktive

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.

Anmerkung

Eine feste Begrenzung von ThreadLimit 20000 (oder ThreadLimit 15000 bei mpm_winnt) ist in den Server einkompiliert. Dies soll unangenehme Effekte durch Tippfehler verhindern.

top

ThreadsPerChild-Direktive

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.

top

ThreadStackSize-Direktive

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:

top

User-Direktive

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:

Ein Benutzername
Verweist auf den durch Namen angegebenen Benutzer.
# gefolgt von einer Benutzernummer.
Verweist auf einen durch eine Nummer angegebenen Benutzer.

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.

Sicherheit

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.

Anmerkung

Obwohl die Direktive User in den MPMs beos und mpmt_os2 existiert, ist sie dort tats�chlich eine Leeranweisung und exisitert nur aus Kompatibilit�tsgr�nden.

Verf�gbare Sprachen:  de  |  en  |  ja  |  tr