Apache HTTP Server Version 2.0
Das Dokument beschreibt, was ein Multi-Processing-Modul ist und wie solche Module beim Apache HTTP Server verwendet werden.
Der Apache HTTP Server wurde als leistungsf�higer und flexibler Webserver konzipiert, der auf einer Vielzahl von Plattformen in einer Reihe unterschiedlicher Umgebungen arbeiten kann. Unterschiedliche Plattformen und unterschiedliche Umgebungen verlangen oftmals verschiedene F�higkeiten oder kennen verschiedene Wege, die gleiche Funktionalt�t sehr effizient zu implementieren. Der Apache hat durch seinen modularen Aufbau schon immer eine breite Auswahl von Umgebungen unterst�tzt. Dieses Design erlaubt es dem Webmaster, durch Auswahl der Module, die zur Kompilierungszeit oder zur Laufzeit geladen werden, die Features auszuw�hlen, die in den Server intregiert werden.
Der Apache 2.0 erweitert dieses modulare Design auf die grundlegenden Funktionen eines Webservers. Der Server wird mit einer Auswahl von Multi-Processing-Modulen (MPMs) ausgeliefert, die f�r die Bindung an Netzwerkports der Maschine, die Annahme von Anfragen und die Abfertigung von Kindprozessen zur Behandlung der Anfragen zust�ndig sind.
Die Erweiterung des modularen Aufbaus auf diese Ebene des Servers bringt zwei wesentliche Vorteile:
mpm_winnt
native
Netzwerkf�higkeiten anstelle der im Apache 1.3 verwendeten
POSIX-Schicht benutzen kann. Dieser Vorteil gilt auch f�r andere
Betriebssysteme, f�r die spezielle MPMs implementiert sind.worker
w�hlen, w�hrend Sites, die
Stabilit�t oder Kompatibilit�t mit �lterer Software
erfordern, prefork
w�hlen k�nnen. Dar�ber
hinaus k�nnen Spezialf�higkeiten wie die Bedienung verschiedener
Hosts unter unterschiedlichen User-IDs (perchild
)
angeboten werden.Auf Anwenderebene erscheinen MPMs fast wie andere Apache-Module. Der Hauptunterschied ist, dass jeweils nur ein einziges MPM in den Server geladen werden kann. Die Liste der verf�gbaren MPMs finden Sie im Modul-Index.
MPMs m�ssen w�hrend der (Anm.d.�.: Quelltext-)Konfiguration ausgew�hlt und in den Server einkompiliert werden. Compiler sind in der Lage eine Reihe von Funktionen zu optimieren, wenn Threads verwendet werden. Sie k�nnen dies allerdings nur, wenn sie wissen, dass Threads benutzt werden.
Um das gew�nschte MPM tats�chlich auszuw�hlen, verwenden Sie
beim configure
-Skript das Argument
--with-mpm=NAME
. NAME ist der Name des
gew�nschten MPMs.
Ist der Server kompiliert, so ist es mittels ./httpd -l
m�glich, das ausgew�hlte MPM zu ermitteln. Dieser Befehl listet
alle in den Server einkompilierten Module auf, einschlie�lich des
MPM.
Die folgende Tabelle gibt die voreingestellten MPMs f�r verschiedene Betriebssysteme an. Wenn Sie w�hrend der Kompilierung keine andere Auswahl treffen, wird dieses MPM gew�hlt.
BeOS | beos |
Netware | mpm_netware |
OS/2 | mpmt_os2 |
Unix | prefork |
Windows | mpm_winnt |