Zum Inhalt springen
Kontakt

Sebastian Nawrot
Dorneystr. 45
44149 Dortmund

Webentwicklung & Technik

Lighttpd 2026: Der leichtgewichtige Webserver für Embedded & IoT

Lighttpd erklärt: Minimaler Footprint, FastCGI, ideal für Raspberry Pi und ressourcenbeschränkte Umgebungen.

Sebastian Nawrot
9 Min. Lesezeit
#Lighttpd#Webserver#Embedded#IoT#Raspberry Pi#Lightweight
Lighttpd 2026: Der leichtgewichtige Webserver für Embedded & IoT

Wenn jedes Megabyte zählt und jeder CPU-Zyklus kostbar ist, schlägt die Stunde von Lighttpd. Ausgesprochen "Lighty", ist dieser Webserver seit über zwei Jahrzehnten die erste Wahl für Embedded-Systeme, IoT-Geräte und ressourcenbeschränkte Umgebungen. Während Apache und Nginx um Enterprise-Features konkurrieren, konzentriert sich Lighttpd auf das Wesentliche: Webseiten ausliefern, mit minimalem Overhead.

Die Geschichte von Lighttpd beginnt 2003, als der deutsche Entwickler Jan Kneschke einen Webserver für das C10k-Problem suchte - die Herausforderung, zehntausend gleichzeitige Verbindungen zu handhaben. Seine Lösung war ein event-basierter Server, der mit einem Bruchteil der Ressourcen traditioneller Webserver auskommt. Was damals als Experiment begann, läuft heute auf Millionen von Geräten: Vom Raspberry Pi im Heimnetzwerk bis zum industriellen IoT-Gateway.

Lighttpd ist kein Allround-Talent wie Nginx und kein Feature-Monster wie Apache. Es ist ein Spezialist für Situationen, in denen weniger mehr ist. Wenn dein Gerät nur 64 MB RAM hat oder du einen Webserver brauchst, der in einem Docker-Container unter 5 MB bleibt, ist Lighttpd dein Werkzeug der Wahl.


Technische Übersicht: Minimalistisch mit Absicht

Architektur: Event-driven, Single-Process

Lighttpd verwendet eine event-basierte Architektur mit einem einzigen Prozess und optionalen Worker-Threads. Anders als Apache, das für jede Verbindung einen Prozess oder Thread startet, verarbeitet Lighttpd alle Anfragen in einer einzigen Event-Loop. Das Ergebnis: minimaler Speicherverbrauch und extrem schnelle Kontextwechsel.

Der Single-Process-Ansatz hat einen entscheidenden Vorteil auf Embedded-Systemen: Er vermeidet den Overhead von Prozesserstellung und Inter-Process-Communication. Auf einem Raspberry Pi Zero mit 512 MB RAM macht das einen spürbaren Unterschied.

Memory-Footprint: Unter einem Megabyte

Lighttpd kann mit weniger als 1 MB RAM laufen - eine Größenordnung weniger als Nginx (typisch 2-5 MB) und deutlich weniger als Apache (10+ MB). Der Unterschied wird auf ressourcenbeschränkten Systemen relevant, wo jedes Megabyte für die eigentliche Anwendung gebraucht wird.

Die minimale Binary-Größe liegt bei etwa 500 KB. Mit allen Modulen kompiliert erreicht Lighttpd etwa 2 MB. Zum Vergleich: Eine Nginx-Installation belegt typischerweise 5-10 MB, Apache 20+ MB.

Protokolle: HTTP/1.1, HTTP/2, HTTP/3 (Beta)

Lighttpd unterstützt die wichtigsten Web-Protokolle:

  • HTTP/1.1: Vollständige Unterstützung, optimal für einfache Anwendungsfälle
  • HTTP/2: Seit Version 1.4.59 verfügbar, bringt Multiplexing und Header-Komprimierung
  • HTTP/3: Experimentelle Unterstützung seit 1.4.76, basierend auf QUIC

Für die meisten Embedded-Anwendungen ist HTTP/1.1 ausreichend. HTTP/2 lohnt sich, wenn viele kleine Ressourcen geladen werden - etwa bei Single-Page-Applications mit vielen API-Aufrufen.

FastCGI: Die PHP-Brücke

Für dynamische Inhalte setzt Lighttpd auf FastCGI. Das Protokoll ermöglicht die Kommunikation mit PHP, Python, Ruby und anderen Sprachen, ohne für jede Anfrage einen neuen Prozess zu starten. FastCGI-Prozesse bleiben persistent und verarbeiten mehrere Anfragen nacheinander.

Die Konfiguration ist einfacher als bei Apache mod_php, aber weniger automatisch als bei Nginx mit PHP-FPM. Du musst explizit angeben, welcher FastCGI-Prozess für welche Dateiendung zuständig ist.


Installation & Konfiguration

Installation auf Debian / Raspberry Pi

Die Installation auf Debian-basierten Systemen ist denkbar einfach:

sudo apt update
sudo apt install lighttpd

Nach der Installation läuft Lighttpd automatisch und zeigt eine Willkommensseite unter http://localhost. Auf einem Raspberry Pi dauert die Installation etwa 30 Sekunden.

Für Arch Linux:

sudo pacman -S lighttpd

Konfigurationsdatei: Zentral und übersichtlich

Die Hauptkonfiguration liegt unter /etc/lighttpd/lighttpd.conf. Anders als bei Apache gibt es keine verteilten .htaccess-Dateien - alles wird zentral konfiguriert.

# /etc/lighttpd/lighttpd.conf - Basis-Konfiguration

server.modules = (
    "mod_indexfile",
    "mod_access",
    "mod_alias",
    "mod_redirect"
)

server.document-root = "/var/www/html"
server.upload-dirs = ( "/var/cache/lighttpd/uploads" )
server.errorlog = "/var/log/lighttpd/error.log"
server.pid-file = "/run/lighttpd.pid"
server.username = "www-data"
server.groupname = "www-data"
server.port = 80

# Index-Dateien
index-file.names = ( "index.html", "index.htm" )

# URL-Rewrites mit mod_rewrite
url.access-deny = ( "~", ".inc" )

# Statische Datei-Typen
static-file.exclude-extensions = ( ".php", ".pl", ".fcgi" )

# Komprimierung aktivieren
server.modules += ( "mod_deflate" )
deflate.cache-dir = "/var/cache/lighttpd/compress/"
deflate.mimetypes = ( "text/plain", "text/html", "text/css", "text/javascript", "application/javascript" )

PHP mit FastCGI einrichten

Für PHP-Unterstützung musst du PHP-FPM und das FastCGI-Modul installieren:

sudo apt install php-fpm php-cgi
sudo lighttpd-enable-mod fastcgi
sudo lighttpd-enable-mod fastcgi-php
sudo systemctl restart lighttpd

Die generierte Konfiguration in /etc/lighttpd/conf-enabled/15-fastcgi-php.conf:

# PHP-FPM über Unix-Socket
fastcgi.server = (
    ".php" => ((
        "socket" => "/var/run/php/php8.2-fpm.sock",
        "broken-scriptfilename" => "enable"
    ))
)

HTTPS mit Let's Encrypt

Für HTTPS brauchst du das SSL-Modul und Zertifikate:

sudo apt install certbot
sudo certbot certonly --webroot -w /var/www/html -d example.com
sudo lighttpd-enable-mod ssl

Konfiguration in /etc/lighttpd/conf-enabled/10-ssl.conf:

$SERVER["socket"] == ":443" {
    ssl.engine = "enable"
    ssl.pemfile = "/etc/letsencrypt/live/example.com/combined.pem"
    ssl.ca-file = "/etc/letsencrypt/live/example.com/chain.pem"

    # Moderne TLS-Einstellungen
    ssl.openssl.ssl-conf-cmd = ("MinProtocol" => "TLSv1.2")
    ssl.cipher-list = "ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256"
}

Hinweis: Let's Encrypt-Zertifikate müssen für Lighttpd kombiniert werden:

cat /etc/letsencrypt/live/example.com/privkey.pem \
    /etc/letsencrypt/live/example.com/cert.pem \
    > /etc/letsencrypt/live/example.com/combined.pem

Typische Einsatzszenarien

Raspberry Pi: Der perfekte kleine Webserver

Auf einem Raspberry Pi ist Lighttpd oft die beste Wahl. Der minimale Speicherverbrauch lässt mehr RAM für deine eigentliche Anwendung - sei es Home Assistant, Pi-hole oder ein eigenes Projekt.

Für eine einfache Statusseite deines Raspberry Pi:

server.document-root = "/var/www/status"
server.port = 8080

# Nur lokalen Zugriff erlauben
$HTTP["remoteip"] !~ "^192\.168\." {
    url.access-deny = ( "" )
}

Embedded Linux: Router, NAS, IoT

Viele Router und NAS-Systeme setzen auf Lighttpd für ihre Web-Interfaces. OpenWrt, die populäre Open-Source-Router-Firmware, nutzt Lighttpd als Standard-Webserver. Der Grund: Auf einem Router mit 32 MB Flash und 128 MB RAM zählt jedes Kilobyte.

Typische Embedded-Konfiguration mit minimalen Ressourcen:

# Minimale Konfiguration für Embedded
server.modules = ( "mod_indexfile" )
server.document-root = "/www"
server.port = 80
server.max-connections = 16
server.max-fds = 64
server.event-handler = "linux-sysepoll"

Download-Server: Effizientes Serving großer Dateien

Lighttpd ist überraschend gut beim Serving großer Dateien. Die sendfile()-Unterstützung ermöglicht Zero-Copy-Transfer direkt vom Kernel, ohne die Daten durch den User-Space zu kopieren.

server.modules += ( "mod_dirlisting" )

# Download-Verzeichnis
$HTTP["url"] =~ "^/downloads/" {
    dir-listing.activate = "enable"
    dir-listing.encoding = "utf-8"
    server.range-requests = "enable"
}

Statische Websites: Maximale Effizienz

Für rein statische Websites - etwa Hugo, Jekyll oder exportierte Next.js-Projekte - liefert Lighttpd exzellente Performance bei minimalem Overhead:

server.document-root = "/var/www/blog"

# Aggressive Caching für statische Assets
$HTTP["url"] =~ "\.(css|js|png|jpg|webp|woff2)$" {
    expire.url = ( "" => "access plus 1 year" )
}

# Gzip-Komprimierung
server.modules += ( "mod_deflate" )
deflate.mimetypes = ( "text/html", "text/css", "application/javascript" )

Lighttpd vs. Nginx: Der Vergleich

Performance: Ähnlich bei kleinen Lasten

Bei geringer bis mittlerer Last sind Lighttpd und Nginx praktisch gleichauf. Beide verwenden event-basierte Architekturen und liefern statische Inhalte mit minimaler Latenz. Erst bei sehr hoher Last (tausende gleichzeitige Verbindungen) zeigt Nginx seine Stärken durch bessere Worker-Skalierung.

Für einen Raspberry Pi mit vielleicht 10-50 gleichzeitigen Besuchern macht der Performance-Unterschied keinen messbaren Unterschied.

Features: Nginx hat mehr

Nginx bietet deutlich mehr Features out of the box:

  • Load Balancing: Nginx hat umfangreiche Upstream-Konfiguration, Lighttpd minimal
  • Caching: Nginx-Proxy-Cache ist mächtiger
  • HTTP/3: Bei Nginx stabil, bei Lighttpd experimentell
  • Dokumentation: Nginx hat mehr Tutorials und Stack Overflow-Antworten

Footprint: Lighttpd ist leichter

Der Speicherverbrauch spricht für Lighttpd:

WebserverRAM (idle)RAM (1000 conn.)Binary
Lighttpd~0.5 MB~3 MB~2 MB
Nginx~2 MB~10 MB~5 MB
Apache~15 MB~100+ MB~20 MB

Wann Lighttpd wählen?

Wähle Lighttpd, wenn:

  • Dein System weniger als 256 MB RAM hat
  • Der Speicherplatz unter 50 MB liegt
  • Du einen Router, NAS oder IoT-Gerät betreibst
  • Maximale Ressourceneffizienz wichtiger ist als Features

Wähle Nginx, wenn:

  • Du Load Balancing oder erweiterte Proxy-Features brauchst
  • HTTP/3 produktiv eingesetzt werden soll
  • Eine größere Community und mehr Dokumentation wichtig sind
  • Du in einer Team-Umgebung arbeitest, wo Nginx-Kenntnisse Standard sind

Vor- und Nachteile

Vorteile

Extrem niedriger Speicherverbrauch Mit unter 1 MB RAM-Verbrauch ist Lighttpd der sparsamste ernstzunehmende Webserver. Auf Embedded-Systemen ist das oft der entscheidende Faktor.

Schnell bei statischen Inhalten Die event-basierte Architektur und sendfile()-Unterstützung machen Lighttpd extrem effizient beim Ausliefern statischer Dateien.

Einfache Konfiguration Eine zentrale Konfigurationsdatei mit klarer Syntax. Keine verschachtelten Include-Strukturen wie bei Apache.

Ideal für ressourcenbeschränkte Systeme Raspberry Pi, OpenWrt-Router, industrielle IoT-Geräte - überall dort, wo Ressourcen knapp sind, spielt Lighttpd seine Stärken aus.

Lange Stabilität Seit 2003 im Einsatz, bewährter Code, wenig Überraschungen. Updates kommen regelmäßig, aber ohne Breaking Changes.

Nachteile

Kleinere Community Die Community ist deutlich kleiner als bei Apache oder Nginx. Weniger Tutorials, weniger fertige Konfigurationen, weniger Stack Overflow-Antworten.

Weniger Module und Features Lighttpd konzentriert sich auf das Wesentliche. Für komplexe Setups mit Load Balancing, Advanced Caching oder API-Gateway-Funktionen fehlen die Module.

HTTP/3 nur experimentell Während Nginx und Caddy HTTP/3 stabil unterstützen, ist es bei Lighttpd noch als experimentell markiert.

Kaum Hosting-Support Auf Shared Hosting findest du Lighttpd praktisch nie. Für Managed Services brauchst du einen eigenen Server.

Manuelle SSL-Einrichtung Anders als Caddy mit automatischem HTTPS musst du bei Lighttpd SSL-Zertifikate manuell einrichten und erneuern.


Fazit: Der Spezialist für Embedded und IoT

Lighttpd ist kein Webserver für jeden. Es ist ein Spezialist für Situationen, in denen Ressourceneffizienz wichtiger ist als Feature-Reichtum. Wenn du einen Raspberry Pi als kleinen Homeserver betreibst, einen Router mit Custom-Firmware flashst oder ein IoT-Projekt entwickelst, gehört Lighttpd in deine Werkzeugkiste.

Für klassische Webprojekte - VPS, Cloud-Server, Container - ist Nginx meist die bessere Wahl. Mehr Features, größere Community, ähnliche Performance. Aber auf einem Gerät mit 64 MB RAM macht Lighttpd den Unterschied zwischen "läuft" und "läuft nicht".

Die Stärke von Lighttpd liegt nicht im Konkurrieren mit den Großen, sondern im Besetzen einer Nische, die sonst niemand bedient: Extrem ressourcenschonend, extrem zuverlässig, extrem minimalistisch. Für diese Nische ist Lighttpd auch 2026 die erste Wahl.

Zurück zum Webserver-Vergleich 2026


Weiterführende Ressourcen

Hier findest du weitere Informationen zu Lighttpd und verwandten Themen:


Letzte Aktualisierung: März 2026

Möchtest du auch so einen Blog?

Ich entwickle moderne, SEO-optimierte Websites und Blogs mit Next.js, React und Tailwind CSS.