Zwei Architekturen, ein Ziel

Apache und Nginx verfolgen grundlegend unterschiedliche Architekturkonzepte. Apache nutzt ein prozessbasiertes Modell (eine Verbindung = ein Thread/Prozess), Nginx ein event-basiertes, asynchrones Modell. Dieser Unterschied hat massive Auswirkungen auf Performance und Skalierbarkeit.


Apache: Der flexible Platzhirsch

Apache HTTP Server existiert seit 1995 und ist durch sein Modul-System extrem flexibel. Viele PHP-Anwendungen (WordPress, Joomla, etc.) wurden auf Apache zugeschnitten.

Stärken:

  • .htaccess: Verzeichnis-spezifische Konfiguration – perfekt für Shared Hosting
  • Modul-System: mod_rewrite, mod_ssl, mod_php – flexibel erweiterbar
  • PHP-Integration: mod_php läuft direkt im Apache-Prozess
  • Dokumentation: Jahrzehnte an Ressourcen und Tutorials
  • WordPress-Kompatibilität: Viele WordPress-Plugins setzen Apache voraus

Schwächen:

  • Bei vielen gleichzeitigen Verbindungen deutlich langsamer als Nginx
  • Höherer Speicherverbrauch pro Verbindung
  • .htaccess verlangsamt Anfragen (wird bei jeder Request geladen)

Nginx: Performance als Leitprinzip

Nginx wurde 2004 explizit entwickelt, um das C10k-Problem zu lösen (10.000 gleichzeitige Verbindungen). Die event-basierte Architektur ist darauf optimiert, viele Verbindungen mit wenig Ressourcen zu verwalten.

Stärken:

  • Performance: Bei statischen Inhalten und vielen Verbindungen deutlich schneller
  • Effizienz: Geringer Speicherverbrauch auch bei hoher Last
  • Reverse Proxy: Ausgezeichnet als Proxy vor App-Servern (Node.js, Gunicorn, etc.)
  • Load Balancing: Eingebaut, kein Modul nötig
  • Rate Limiting: Einfach konfigurierbar

Schwächen:

  • Keine .htaccess-Unterstützung (alles in der Hauptkonfig)
  • PHP braucht PHP-FPM als separaten Dienst
  • Einstieg etwas steiler bei komplexen Konfigurationen

Performance-Vergleich

Szenario Gewinner
Statische Dateien (HTML, CSS, JS) Nginx
Viele gleichzeitige Verbindungen Nginx
PHP ohne FPM Apache
Shared Hosting Apache
Reverse Proxy Nginx
Reverse Proxy mit TLS-Termination Nginx

Fazit

Für moderne Setups und neue Projekte empfehle ich Nginx. Die Performance-Vorteile sind bei heutigen Web-Anforderungen spürbar, und als Reverse Proxy vor PHP-FPM, Node.js oder Python-Apps ist Nginx die erste Wahl. Apache bleibt relevant für Legacy-Setups, WordPress-Shared-Hosting und Anwendungen, die .htaccess zwingend benötigen. In meinem Stack läuft Nginx als Reverse Proxy, während alle PHP-Anwendungen über PHP-FPM angebunden sind.