Software & Infrastruktur

Schlanke Webserver für Ruby on Rails & Co.: Alternative Diener

Die Webserver von Apache, Microsoft und Sun sind weit verbreitet – Milliarden von Anfragen bearbeiten sie jeden Tag. Doch im Hintergrund haben sich einige neue Entwicklungen etabliert, die sich bei vielen Projekten als bessere Wahl erweisen können.

Lighttpd – Fettarm läuft schneller

Um sich von den Mühen seines Diploms an der FH Kiel abzulenken, beschäftigte sich Jan Kneschke mit der Optimierung von Programmcode eines minimalen Webservers. Das Ziel war, bis zu 10.000 gleichzeitige Verbindungen zu ermöglichen und die Anfragen ohne Verzögerung zu bearbeiten. Nach nunmehr knapp drei Jahren ist Lighttpd [1] ein leistungsfähiger Webserver geworden, der sich wachsender Beliebtheit erfreut und selbst von Größen wie YouTube und WikiMedia eingesetzt wird. Die Sympathie kommt nicht von ungefähr – die Installation gestaltet sich einfach, selbst die Kompilation aus dem Quellcode gelingt unkompliziert. Im Gegensatz zu Platzhirschen wie Apache ist Lighttpd sehr kompakt und nur von wenigen Voraussetzungen abhängig.

Abhängigkeiten zu Systembibliotheken (Ubuntu Edgy Eft)
$ ldd /usr/sbin/lighttpd 
linux-gate.so.1 => (0xffffe000)
libpcre.so.3 => /usr/lib/libpcre.so.3 (0xb7ec2000)
libdl.so.2 => /lib/tls/i686/cmov/libdl.so.2 (0xb7ebe000)
libattr.so.1 => /lib/libattr.so.1 (0xb7eb9000)
libssl.so.0.9.8 => /usr/lib/i686/cmov/libssl.so.0.9.8 (0xb7e79000)
libcrypto.so.0.9.8 => /usr/lib/i686/cmov/libcrypto.so.0.9.8 (0xb7d37000)
libfam.so.0 => /usr/lib/libfam.so.0 (0xb7d2f000)
libpthread.so.0 => /lib/tls/i686/cmov/libpthread.so.0 (0xb7d18000)
libc.so.6 => /lib/tls/i686/cmov/libc.so.6 (0xb7bd7000)
/lib/ld-linux.so.2 (0xb7eee000)
libz.so.1 => /usr/lib/libz.so.1 (0xb7bc2000)

Listing 1

Die Konfiguration von Lighttpd mag für eingefleischte Apache-Administratoren etwas ungewohnt erscheinen. Lighttpd unterstützt das Setzen von Variablen innerhalb der Konfigurationsdatei, selbst mehrdimensionale Felder (Arrays) können verwendet werden. Nach etwas Einarbeitungszeit lernt man die Vorteile jedoch zu schätzen.

Beispiel: Verwendung von Variablen
var.subdomain = "rails"
[...]
server.name = var.subdomain + ".t3n.de"
index-file.names += ("index.rhtml")
[...]

Listing 2

Der Leistungsumfang von Lighttpd ist groß: Virtuelle Server, dynamisches Umschreiben von URLs (ähnlich Apaches mod_rewrite), Kompression mittels zLib, WebDAV, Anbindung an RRDTool und Streaming von Flash-Videos (FLV) stehen neben vielen weiteren Möglichkeiten zur Verfügung.

Bitte beachte unsere Community-Richtlinien

Wir freuen uns über kontroverse Diskussionen, die gerne auch mal hitzig geführt werden dürfen. Beleidigende, grob anstößige, rassistische und strafrechtlich relevante Äußerungen und Beiträge tolerieren wir nicht. Bitte achte darauf, dass du keine Texte veröffentlichst, für die du keine ausdrückliche Erlaubnis des Urhebers hast. Ebenfalls nicht erlaubt ist der Missbrauch der Webangebote unter t3n.de als Werbeplattform. Die Nennung von Produktnamen, Herstellern, Dienstleistern und Websites ist nur dann zulässig, wenn damit nicht vorrangig der Zweck der Werbung verfolgt wird. Wir behalten uns vor, Beiträge, die diese Regeln verletzen, zu löschen und Accounts zeitweilig oder auf Dauer zu sperren.

Trotz all dieser notwendigen Regeln: Diskutiere kontrovers, sage anderen deine Meinung, trage mit weiterführenden Informationen zum Wissensaustausch bei, aber bleibe dabei fair und respektiere die Meinung anderer. Wir wünschen Dir viel Spaß mit den Webangeboten von t3n und freuen uns auf spannende Beiträge.

Dein t3n-Team

Schreib den ersten Kommentar!