Webserver: Apache, Lighttpd und Tomcat
Heute geht es endlich weiter in der Reihe Linux Server Software. Der Webserver ist die Software, welche zur Auslieferung der Inhalte, also von Homepages, an die Internetbenutzer, dient. Dabei unterscheidet man verschiedene Arten von Webservern, da es im Gegensatz zum Anfang des WWW mittlerweile nicht mehr nur reine HTML Seiten gibt, sondern auch Seiten welche z.B. mit Hilfe von PHP oder JSP erstellt werden.
Der wohl bekannteste und am weitesten verbreitete, frei erhältliche Webserver ist der Apache Webserver, welcher von der Apache Software Foundation programmiert und vertrieben wird. Er gilt als Allrounder unter den Webservern und kann durch zahlreiche Module in der Funktionalität nahezu beliebig erweitert werden. So unterstützt er beispielweise die Ausführung von PHP-Scripten mittels mod_PHP, PHP-CGI und PHP-FASTCGI. Auch die immer wichtiger werdende Untertstützung von sogenannten sprechenden URLs für eine bessere Auffindbarkeit in den Suchmaschinen wird durch das Modul mod_rewrite ermöglicht.
Als Allrounder kann der Apache sogar als Caching Proxy oder Reverse Proxy konfiguriert werden und seinen Dienst verrichten, um so stark frequentierte Inhalte aus dem Cache zu liefern und somit die Serverlast zu reduzieren.
Selbstverständlich können auch SSL verschlüsselte Übertragungen wie sie z.B. für Transaktionen bei Webshops benötigt werden mit dem Apachen umgesetzt werden. Eine Anbindung von Applikationsservern wie dem Tomcat wird durch das passende Modul Namens mod_jk erlaubt – somit kann der Apache statische Inhalte ausliefern und dem Tomcat die Arbeit überlassen werden, für die er programmiert wurde.
Seit ein paar Jahren hat der Apache Konkurrenz in Form des Lighttpd Servers bekommen. Dieser entstand in der Absicht, einen leichtgewichtigen, schnellen HTTP Server, welcher die Systemressourcen bei dem Betrieb schont, bereitzustellen.
Auch der Lighhtpd wird stetig weiterentwickelt und unterstützt mittlerweile ebenso das URL-rewriting sowie das Ausführen von PHP-Scripten und CGI. Oft wird er jedoch als Ergänzung zum Apachen betrieben und übernimmt in dieser Kombination die Auslieferung statischer Inhalte wie Bilder, Videos (zum Beispiel bei Youtube) und ausgelagerten CSS sowie Javascript Dateien. Welcher Webserver nun eingesetzt wird, hängt von den spezifischen Einsatzzwecken der jeweiligen Software, welche ausgeliefert wird ab.
Um auch einen Applikationsserver zu nennen, möchte ich kurz den ebenfalls von der Apache Software Foundation entwickelten Tomcat erwähnen. Dieser Server unterstützt die Java Server Pages und Java Servlet Technologien und wird auch als Java Servlet Container bezeichnet. Dabei ist er auf diese Programmiersprache spezialisiert und ist somit als Ergänzung zu einem Webserver wie dem Apachen zu sehen. Die Daseinsberechtigung des Tomcat besteht unter anderem in der weiten Verbreitung der Programmiersprache Java, was Entwickler den Einstieg in die Webprogrammierung erleichtert sofern Sie schon Erfahrung mit Java haben.
Insgesamt kann man sagen, dass es neben den angesprochenen Webservern eine Menge weiterer Server gibt, die alle Ihren Zweck je nach Bedarf auf der Anwenderseite erfüllen. Im Kasten unten nun noch einige Links zu dem Thema.
Vergleich von Webservern (englisch)
Die Apache Software Foundation
Der Lighttpd Webserver
Apache2 als Proxy für Maven
Webserver Benchmarks zum Vergleich (Benchmarks eines Anbieters – mit Vorsicht zu beurteilen)
Ich persönlich nutze seit eh und je den Apache, sowohl auf Mietservern wie auch zu Hause. Hat sich halt über die Jahre bewährt und solange es keine ernsten Zwischenfälle gibt, werd ich auch nichts anderes nutzen.