Wordpress

NGINX vs. Apache: So wählen Sie den besten Webserver aus

Stellen Sie sich vor: Sie sind auf der Suche nach neuen Turnschuhen, finden ein gutes Angebot und beschließen, sich auf der Website umzusehen.

Sie warten 10 Sekunden … 20 Sekunden … und die Site lädt einfach nicht. Sie haben keine Lust mehr zu warten und wechseln daher zu einer anderen Site. Folgendes ist wahrscheinlich passiert: Die Sneaker-Website hat wahrscheinlich viel Zeit und Geld in schicke Bilder und elegante Designs investiert, aber das alles ist umsonst, wenn das Laden ewig dauert.

Das Internet ist voller langsamer Websites.

Das Laden einer durchschnittlichen mobilen Zielseite dauert 22 Sekunden, und das ist fürs Geschäft schrecklich.

Eine Studie von Portent ergab, dass eine Website, die in weniger als einer Sekunde lädt, eine dreifach höhere Conversion-Rate als eine Site, die fünf Sekunden zum Laden braucht.

Was hat das nun mit unserem Vergleich zwischen NGINX und Apache zu tun?

Ein wichtiger Faktor, der die Site-Geschwindigkeit beeinflusst, ist Ihr Webserver – die Software, die Ihre Seiten an die Besucher übermittelt.

Apache und NGINX sind zwei der bekanntesten Webserver auf dem Markt.

Laut w3techs laufen im Juli 2024 über 34 % der Websites auf NGINX, während Apache 29,4 % unterstützt.

Ist NGINX damit der klare Gewinner? Noch nicht.

Beide Webserver funktionieren für unterschiedliche Anwendungsfälle unterschiedlich. In diesem Leitfaden werfen wir einen Blick auf die Unterschiede zwischen Apache und NGINX und erklären, worauf Sie bei der Auswahl eines Servers achten sollten.

Lass uns anfangen.

Was sind Webserver?

Webserver sind Softwareanwendungen, die auf einem physischen Server ausgeführt werden und eingehende Benutzeranforderungen verarbeiten.

Wenn Sie eine URL wie „google.com“ eingeben, sendet Ihr Browser eine Anfrage an den Webserver, der die zum Ausführen der Website erforderlichen Dateien speichert.

Infografik, die erklärt, was Webserver sind, mit Symbolen für Webbrowser, Internet und Webserver und zwei Linien, die sie verbinden.

Der Server sendet dann den entsprechenden Inhalt zurück, sei es HTML, CSS, JavaScript, Bilder oder ein anderer Typ.

Webserver erledigen im Hintergrund viele wichtige Aufgaben:

  • Verwalten von HTTP-Verbindungen und Anforderungen
  • Weiterleiten von Anfragen an die richtige Backend-Anwendung, falls erforderlich (wie PHP, Python oder Ruby on Rails)
  • Lesen und Schreiben von Dateien von der Festplatte zum Bereitstellen statischer Assets
  • Durchsetzen von Sicherheitsrichtlinien
  • Komprimieren von Inhalten für eine schnellere Übertragung
  • Protokollierungsanforderungen für Analysen

Nachdem wir nun die Funktionsweise von Webservern erläutert haben, sehen wir uns an, wie NGINX und Apache diese Aufgaben angehen.

Was ist Apache?

DreamHost-Glossar

Apache

Apache HTTP Server ist eine kostenlose Open-Source-Webserversoftware, die Server und Browser über HTTP-Anfragen verbindet.

Mehr lesen

Apache HTTP Server, allgemein Apache genannt, ist eine beliebte Open-Source-Webserversoftware, die von Robert McCool entwickelt und 1995 veröffentlicht wurde. Sie basiert auf dem NCSA HTTPd-Server.

Die Apache Software Foundation, eine gemeinnützige Organisation, die Open-Source-Softwareprojekte unterstützt, hat es entwickelt und pflegt es weiterhin.

Viele Jahre lang war Apache der am weitesten verbreitete Webserver der Welt und trieb viele Websites an. Tatsächlich spielte er in der Anfangszeit des World Wide Web eine bedeutende Rolle beim Wachstum.

Einige der wichtigsten Funktionen und Vorteile von Apache sind:

  • Modulare Architektur: Seine Funktionalität kann durch Module für verschiedene Funktionen und Sprachen erweitert werden.
  • Funktioniert auf verschiedenen Betriebssystemen: Apache ist plattformübergreifend konzipiert, damit Sie Ihren Webserver auf jedem Betriebssystem hosten können, einschließlich Linux, Windows und macOS.
  • Umfangreiche Dokumentation und eine große Community: Hilft Benutzern und Entwicklern, Probleme zu beheben und gemeinsam bessere Lösungen zu entwickeln.
  • Flexible Konfiguration: Der .htaccess Dateien können verzeichnisspezifische Konfigurationsänderungen für Benutzer erleichtern.
  • Sicherheitsfunktionen: Apache bietet aufgrund seines Open-Source-Charakters und regelmäßiger Updates zur Behebung von Schwachstellen und Fehlern eine relativ gute Sicherheit.

Allerdings weist Apache einige Einschränkungen auf:

  • Höherer Speicherverbrauch: Es verbraucht mehr Speicher als NGINX, insbesondere bei der Verarbeitung mehrerer gleichzeitiger Verbindungen.
  • Langsamer unter hoher Last: Es kann beim Bereitstellen statischer Dateien langsamer als NGINX sein, insbesondere bei hoher Belastung.
  • Für Entwickler eine Herausforderung bei der Entwicklung und Wartung: Im Laufe der Jahre ist die Entwicklung und Wartung des Codes aufgrund der zunehmenden Komplexität schwieriger geworden.

Was ist NGINX?

NGINX (ausgesprochen „Engine X“) ist eine kostenlose, quelloffene und leistungsstarke Webserversoftware, die erstmals im Jahr 2004 veröffentlicht wurde. Sie wurde von Igor Sysoev, einem russischen Softwareentwickler, entwickelt, um das Problem des gleichzeitigen Zugriffs vieler Benutzer auf eine Website zu lösen, was für andere Webserver wie Apache eine Herausforderung darstellte.

Sysoevs Arbeit an NGINX begann im Jahr 2002. Sein Ziel war es, das „C10k-Problem“ zu lösen – die Handhabung von 10.000 gleichzeitigen Verbindungen.

Seine Vision war ein schneller, stabiler und skalierbarer Server. Durch diesen Fokus auf Leistung eignet sich NGINX hervorragend für die Bereitstellung statischer Inhalte wie HTML-Seiten, Bilder und CSS-Dateien.

Neben seiner Geschwindigkeit ist NGINX auch ein hervorragender Reverse-Proxy. Es empfängt Benutzeranfragen und leitet sie intelligent an andere Server wie Apache oder Webanwendungen weiter, wodurch die Ressourcennutzung optimiert wird.

DreamHost-Glossar

Internetanwendung

Webanwendungen sind Programme, die auf einem Webserver ausgeführt werden. Der Benutzer kann über seinen Browser auf Webanwendungen zugreifen. Beispiele für Webanwendungen sind Bildbearbeitungsprogramme und E-Mail-Dienste.

Mehr lesen

Einige der Hauptvorteile von NGINX sind:

  • Gleichzeitige Handhabung: NGINX kann viele Benutzer gleichzeitig verarbeiten, ohne übermäßig viel Speicher oder CPU-Leistung zu beanspruchen.
  • Einfach einzurichten und zu konfigurieren: NGINX verfügt über ein einfaches und intuitives Konfigurationsdateiformat, mit dem Benutzer den Webserver problemlos entsprechend ihrem Anwendungsfall konfigurieren können.
  • Verschiedene Leistungsmerkmale: NGINX verfügt über viele integrierte Funktionen zum Lastenausgleich, Caching und zur Sicherung von Websites mit SSL/TLS-Verschlüsselung.
  • Unterstützt IMAP und POP3: NGINX fungiert sogar als Mail-Proxyserver und unterstützt Protokolle wie IMAP und POP3.

Die Verwendung von NGINX bringt jedoch auch einige Nachteile mit sich:

  • Die Standardeinstellungen sind nicht optimal: Die standardmäßigen Algorithmen zum Lastenausgleich funktionieren möglicherweise nicht in jeder Situation optimal.
  • Keine integrierten Sprachcompiler: Es bietet keine native Unterstützung für die Generierung dynamischer Websites mit serverseitigen Sprachen wie PHP oder Python. Sie können dies jedoch mit einer Erweiterung eines Drittanbieters umgehen.

Apache vs. NGINX: Was sind die Unterschiede?

Apache war einst die erste Wahl als Webserver. NGINX eroberte jedoch schnell den Marktanteil und ist heute bei vielen Websites mit hohem Datenverkehr beliebt.

Wenn Sie mit dediziertem Hosting arbeiten möchten, ist die Wahl des richtigen Webservers eine wichtige Entscheidung.

Also, was unterscheidet diese beiden?

Lass uns genauer hinschauen.

EinzelheitenApache HTTP ServerNGINX
Gegründet19952004
LizenzbedingungenApache-Lizenz 2.02-Klausel-BSD-Lizenz
BetriebssystemkompatibilitätWindows, Linux, macOS, Unix-basierte SystemeWindows, Linux, macOS, Unix-basierte Systeme
WebSocket-ProtokollunterstützungJaJa (eingeführt in Version 1.3.13)
Reverse-Proxy-UnterstützungJaJa
Virtuelle HostkonfigurationUnterstütztUnterstützt
ZwischenspeicherungVerfügbar über ModuleIm Kern integriert
Ressourcenverbrauch (Speicher)HochNiedrig
Setup- und KonfigurationsformatTextbasiertTextbasiert (einfachere Syntax)
Sicherheitsfunktionenmod_security-Unterstützung bietet flexible Regelkonfiguration und ZugriffskontrolleErweiterte Filterung, Ratenbegrenzung, integrierte Unterstützung für DDoS-Abwehr und SSL/TLS-Leistung
Verschlüsselte Kommunikation (SSL/TLS)UnterstütztUnterstützt
Gleichzeitige VerbindungsbehandlungGutHocheffizient
Skalierung der LeistungGutHervorragend
LastverteilungsfunktionalitätMit Modulen erreichbarIntegrierte Funktion
Gesamtleistung und GeschwindigkeitBefriedigendZweimal schneller als Apache

Architektur und Parallelität

Einer der bedeutendsten Unterschiede zwischen NGINX und Apache besteht in der Art und Weise, wie sie eingehende Anfragen im Hintergrund verarbeiten.

Dies hat erhebliche Auswirkungen auf ihre Leistung und Ressourceneffizienz.

Apaches prozessbasierte Architektur

Diagramm, das den prozessbasierten Ansatz von Apache zeigt: Clientanforderung, Serververarbeitung, Antwort und Handhabung der Datei index.php.

Apache folgt einem prozessbasierten Modell und erzeugt für jede eingehende Anfrage einen neuen Thread oder Prozess.

Diese Prozesse oder Threads werden von Multi-Processing Modules (MPMs) verwaltet:

  • MPM vorab aufteilen: Das ursprüngliche Apache-Modell. Jeder Prozess hat einen einzelnen Thread und verarbeitet jeweils eine Verbindung. Es ist einfach, kann aber speicherintensiv sein.
  • Arbeiter-MPM: Verwendet mehrere Threads pro Prozess, von denen jeder eine einzelne Verbindung verarbeitet. Es ist besser als Prefork für den Speicher, aber hoher Datenverkehr und ressourcenintensive Anfragen können immer noch zu Engpässen bei der CPU führen, was zu Leistungsproblemen führt.
  • Ereignis-MPM: Ähnlich wie das Worker-MPM, jedoch optimiert für Keep-Alive-Verbindungen (Geräte, die nicht vom Server getrennt werden können). Allerdings ist es immer noch nicht vollständig asynchron.

Dies sind alles gute Module, aber sie haben einen großen Nachteil: Apache muss für jede eingehende Verbindung neue Prozesse oder Threads erstellen und diese anschließend zerstören. Dies versucht er zu erreichen, indem er einige inaktive Prozesse im Voraus vorab aufspaltet.

Wenn sich jedoch mehrere Personen gleichzeitig mit der Site verbinden möchten, kann es sein, dass Apache seinen vorhandenen Pool überschreitet und dann schnell weitere Prozesse erstellen muss. Dies kostet Zeit und verbraucht Speicher.

Dieses Modell funktioniert perfekt für Websites mit geringem bis mittlerem Datenverkehr. Trotzdem kann Apache Websites mit vielen gleichzeitigen Verbindungen überfordern.

All diese separaten Prozesse sind nicht besonders effizient. Selbst mit dem Event-MPM kann Apache dem Modell „ein Thread pro Verbindung“ nicht ganz entkommen.

Recibe Content Directamente en Tu Bandeja de Entrada

Melden Sie sich für unseren Blog an und rezitieren Sie großartige Inhalte direkt auf Ihrem Blog.

Die ereignisgesteuerte Architektur von NGINX

Die ereignisgesteuerte Architektur von NGINX

NGINX verfolgt einen ganz anderen Ansatz. Anstelle separater Prozesse oder Threads für jede Verbindung verwendet NGINX eine asynchrone, ereignisgesteuerte Architektur.

So funktioniert das:

  • NGINX hat einen primären Prozess (normalerweise einen pro CPU-Kern), der mehrere Worker-Prozesse verwaltet. Jeder Worker kann Tausende gleichzeitiger Verbindungen. Es besteht keine Notwendigkeit für die Worker, neue Threads zu erstellen oder jede Anfrage an einen dedizierten Prozess weiterzuleiten.
  • Stattdessen verfügen die Worker über eine Ereignisschleife, in der sie mithilfe der Mechanismen des Betriebssystems effizient auf neue Ereignisse bei bestehenden Verbindungen achten, wie beispielsweise kWarteschlange oder epoll. Dadurch können sie mehrere Verbindungen innerhalb eines einzigen Threads jonglieren. Wenn ein Ereignis eintritt, z. B. eine neue Anfrage oder die Antwort eines Backend-Servers, leitet NGINX es schnell an einen freien Slot im Worker weiter.
  • Dies ist viel effizienter als das Apache-Modell. NGINX kann eine riesige Anzahl von Anfragen mit einem geringen Speicherbedarf bedienen. Es ist unglaublich gut skalierbar, weshalb es für viele der meistgenutzten Websites im Internet verwendet wird.

Der Nachteil besteht darin, dass NGINX keine Code-Interpreter einbetten kann wie Apache.

Wenn Sie also PHP- oder Python-Code ausführen möchten, NGINX sendet Anfragen an einen separaten FastCGI-Prozessmanager wie php-fpm. Dieser Prozess führt den Code aus und übersetzt ihn in etwas, das der Browser des Benutzers verstehen kann.

Andererseits kann Apache innerhalb seiner Prozesse Sprachen wie PHP, Perl und Python ausführen.

Da NGINX dies nicht kann, Konfiguration Datei kann etwas komplexer werden.

Die Leistungssteigerung überwiegt jedoch normalerweise den Aufwand.

Leistung

NGINX ist für seine hohe Leistung beim Bereitstellen statischer Dateien wie HTML-Seiten, Bildern, CSS und JavaScript bekannt.

Die ereignisgesteuerte Architektur hilft, aber NGINX hat auch einige andere Tricks auf Lager.

Erstens muss NGINX im Gegensatz zu Apache nicht bei jeder Anfrage den Cache durchsuchen und auf die Festplatte zugreifen. Es kann Dateien direkt von der Festplatte bereitstellen. Außerdem eliminiert NGINX den Aufwand, der mit der Überprüfung von Berechtigungen und dem Sperren von Dateien verbunden ist.

Diese Probleme treten bei Apache auf, weil jede Anforderung ein Prozess ist und wenn ein Prozess etwas ändert, kann der andere Prozess nicht gleichzeitig dieselbe Datei verwenden.

Während kleinere Websites diesen Engpass aufgrund der hohen Verarbeitungsgeschwindigkeit im Hintergrund nicht bemerken, werden diese Probleme bei großen Websites mit mehreren Tausend Anfragen pro Sekunde deutlich, was zu einer Verlangsamung des Benutzererlebnisses führt.

NGINX verfügt außerdem über einen integrierten Dateicache. Bei der ersten Anforderung einer Datei liest NGINX diese von der Festplatte und legt sie in seinem Cache ab. Zukünftige Anforderungen für diese Datei können blitzschnell direkt aus dem Speicher bedient werden, ohne die Festplatte zu berühren. Außerdem werden die zwischengespeicherten Daten automatisch ungültig, wenn sich die Datei auf der Festplatte ändert.

Diese Optimierungen summieren sich. In Benchmarks NGINX kann statische Dateien oft etwa dreimal schneller bereitstellen als Apache. insbesondere wenn die Zahl gleichzeitiger Anfragen steigt.

Ein Bonus: Dies kann Ihnen auch dabei helfen, Ihre wichtigsten Web-Vitalwerte zu verbessern und Ihnen so einen kleinen Vorsprung bei Google zu verschaffen.

DreamHost-Glossar

Core Web Vitals (CWV)

Die von Google entwickelten Core Web Vitals (CWV) verbessern das Surfen im Internet mit drei Metriken: Largest Contentful Paint (LCP), First Input Delay (FID) und Cumulative Layout Shift (CLS).

Mehr lesen

Apache ist auch nicht langsam. Sie müssen lediglich Zeit in die Feinabstimmung investieren, damit es richtig funktioniert. Es ist auch in der Lage, statische Dateien sehr schnell bereitzustellen.

Wenn Sie jedoch einen sofort einsatzbereiten, leistungsstarken Webserver wünschen, ist NGINX die richtige Wahl.

Konfiguration und Syntax

NGINX und Apache haben unterschiedliche Konfigurationsphilosophien.

Apache ist bekannt für seine umfangreichen Konfigurationsmöglichkeiten. Neben der apache2.confmüssen Sie Ihre Regeln und Konfigurationen dem .htaccess Datei.

Die Konfigurationsdateien verwenden eine XML-ähnliche Syntax und bieten eine unglaubliche Flexibilität. Apache verfügt über eine umfangreiche Liste von Anweisungen, mit denen Sie jeden Aspekt des Serververhaltens optimieren können.

Sie können die Konfiguration festlegen Optionen global oder überschreiben Sie sie für bestimmte Verzeichnisse oder virtuelle Hosts.

Screenshot der grundlegenden Apache-Serverkonfigurationsdatei, der Einstellungen für Port, Module, Benutzer, Verzeichnisse und Protokolle zeigt.

Die wahre Stärke von Apache liegt in seinem weitläufigen Ökosystem von Modulen. Eine riesige Auswahl an offiziellen und Drittanbieter-Apache-Modulen ermöglicht Ihnen alles von der URL-Umschreibung über Sicherheitsfilterung bis hin zu erweitertem Caching. Um ein Modul zu verwenden, laden Sie es in Ihre Apache-Konfiguration.

Die Kehrseite ist, dass die Apache-Konfiguration schnell komplex werden kann, insbesondere bei ausgefallenen Setups. Anweisungen können sich in kniffligen Vererbungsketten gegenseitig überschreiben. Konfigurationsoptionen sind oft auf mehrere Dateien in verschiedenen Unterverzeichnissen des Hauptverzeichnisses verteilt. Konfiguration Ordner. Es ist super flexibel, aber es braucht etwas Zeit, bis man es beherrscht.

Die Konfiguration von NGINX hingegen zielt auf Einfachheit und Lesbarkeit ab. Es gibt keine .htaccess Datei hier. Sie konfigurieren einfach die Sites in Ihrem NGINX.conf zusammen mit dem Ordner „Sites aktiviert“, und schon kann es losgehen.

Die Syntax ist an gängige Programmiersprachen angelehnt. Sie ist immer noch leistungsstark, aber nicht ganz so umfangreich wie Apache.

Screenshot der Nginx-Konfigurationsdatei, der Einstellungen für Benutzer, Arbeitsprozesse, Ereignisse, HTTP-Server und Verzeichnisoptionen zeigt.

Anstelle von Modulen verfügt NGINX über einen kleineren Satz von Kernanweisungen und -funktionen, die fest integriert sind. Alle Optionen für eine bestimmte Funktion befinden sich normalerweise in einem Block (in geschweiften Klammern { }).

Einige erweiterte Funktionen wie Lastverteilung und Caching werden im Hauptfenster konfiguriert. NGINX.confnicht in Nebendateien aufgeteilt.

Das Ergebnis ist, dass die Konfigurationsdateien von NGINX tendenziell schlanker und leichter zu lesen und zu konfigurieren sind als die umfangreichen Apache-Dateien, man kann mit ihnen aber trotzdem viel anfangen.

Sicherheit

NGINX und Apache sind Open-Source-Projekte mit großen, aktiven Entwickler-Communitys, die ständig daran arbeiten, Schwachstellen zu identifizieren und zu beheben. Beide erhalten regelmäßige Sicherheitsupdates und haben eine gute Erfolgsbilanz bei der schnellen Behebung von Problemen.

Allerdings gibt es einige Unterschiede in der Herangehensweise an die Sicherheit.

Hier sind einige wichtige Punkte, die Sie berücksichtigen sollten:

  • Modularität: Dank der modularen Architektur von Apache müssen Sie nur die Funktionen aktivieren, die Sie verwenden. Dadurch wird die Angriffsfläche minimiert. Bei NGINX sind viele Standardfunktionen direkt in den Kern integriert, was es aus Sicherheitsgründen weniger flexibel macht.
  • Anforderungsfilterung: NGINX verfügt über eine leistungsstarke integrierte Anforderungsfilter-Engine, die dabei helfen kann, gängige Webangriffe wie SQL-Injection und Cross-Site-Scripting (XSS) zu blockieren. Apache verfügt über ähnliche Funktionen durch Module wie mod_sicherheit.
  • SSL/TLS-Konfiguration: Beide Server unterstützen SSL/TLS für verschlüsselte Verbindungen, aber NGINX soll sich einfacher konfigurieren lassen. Es verfügt über eine klarere Dokumentation und sicherere Standardeinstellungen.
  • Prozessisolierung: Die Verwendung eines einzelnen Masterprozesses mit mehreren Workerprozessen durch NGINX kann dabei helfen, Problembereiche zu isolieren. Die Prefork- und Worker-MPMs von Apache können eine ähnliche Isolierung auf Prozessebene bieten, allerdings auf Kosten der Nutzung höherer Ressourcen.
  • DDoS-Abwehr: Die ereignisgesteuerte Architektur von NGINX und die effiziente Handhabung gleichzeitiger Verbindungen machen es zu einer beliebten Wahl zur Abwehr kleiner bis mittelgroßer DDoS-Angriffe. Mit ein paar zusätzlichen Modulen und Anpassungen kann Apache auch gegen DDoS-Angriffe resistent gemacht werden.

Dynamische Inhalte, Module und Ökosystem

Apache ist seit langem die erste Wahl für die Bereitstellung dynamischer Inhalte, da es problemlos serverseitige Sprachen integriert. Mit den Prefork- und Worker-MPMs können Sie Unterstützung für Sprachen wie PHP, Python und Perl direkt in die Apache-Binärdatei kompilieren.

Apache führt dann in jedem seiner Worker-Prozesse einen Interpreter aus. Das ist schön und einfach – Apache kann Anfragen für .php Dateien an den integrierten PHP-Interpreter und erhalten Sie die gerenderte Ausgabe zurück.

NGINX hat keine integrierte serverseitige Sprachunterstützung. Sie benötigen einen separaten Dienst wie php-fpm das den Sprachinterpreter ausführt, um PHP, Python oder Ruby on Rails mit NGINX auszuführen. NGINX empfängt Anfragen und leitet sie an das Backend weiter, das den Code verarbeitet und eine Antwort zurückgibt.

Das Einrichten ist etwas aufwändiger als der All-in-One-Ansatz von Apache. Andererseits passt es zur Philosophie von NGINX, eine Sache zu tun (Anfragen zu bearbeiten) – und das gut zu machen.

Was andere Funktionen betrifft, wird NGINX mit einem festen Kern nützlicher Funktionen wie Lastverteilung, Proxying, Caching, Ratenbegrenzung, Komprimierung und SSL-Terminierung ausgeliefert. Aber es kommt nicht an die unglaubliche Breite des Modul-Ökosystems von Apache heran. Mit Apache haben Sie Module für Authentifizierungsschemata, Inhaltsfilterung, eingebettete Skriptsprachen und mehr.

Nicht jedes davon ist einzigartig. NGINX kann viele der gleichen Aufgaben erledigen, nur auf unterschiedliche Weise. Die Modulbibliothek von Apache ist jedoch recht umfangreich.

Wenn Sie eine ganz spezielle Funktionalität benötigen, ist Apache hier möglicherweise im Vorteil.

Dennoch ist der Funktionsumfang von NGINX für die meisten gängigen Web-Serving-Anforderungen robust.

Reale Nutzung, Leistung und Community

Die Popularität von NGINX hat im letzten Jahrzehnt zugenommen.

Marktanteil von NGINX vs. Apache. Ab 2022 betreibt NGINX über 34 % aller Websites weltweit, verglichen mit etwa 29 % bei Apache.

Im Jahr 2022 betreibt es über 34 % aller Websites weltweit, im Vergleich zu etwa 29 % bei Apache.

Eines sollten Sie bedenken: Sie werden den Unterschied zwischen diesen Webservern nicht bemerken, es sei denn, Sie haben eine große Website oder ein wirklich kleiner Server.

Angenommen, Sie mögen die umfangreichen Konfigurationsoptionen und den All-in-One-Ansatz von Apache für dynamische Inhalte. Die Apache-Dokumente gehören zu den besten und die Community ist riesig, falls Sie jemals Hilfe benötigen.

NGINX ist möglicherweise besser geeignet, wenn Sie maximale Parallelität anstreben oder eine riesige Site erstellen möchten. Seine Architektur ist etwas zukunftssicherer und auf Skalierbarkeit ausgelegt. Und die NGINX-Community ist schnell gewachsen. Auch die Dokumente sind solide; Sie finden zahlreiche Anleitungen und Support.

Apache vs. NGINX: Was ist das Richtige für Sie?

Es gibt keine allgemeingültige Antwort auf die Debatte NGINX vs. Apache. Dennoch finden Sie hier einige gute Faustregeln, die Ihnen die Entscheidung erleichtern.

NGINX ist besser, wenn:

  • Sie haben eine Site mit sehr hohem Datenverkehr.
  • Sie müssen schnell eine Menge statischer Assets bereitstellen.
  • Sie erstellen eine Microservices-Architektur.
  • Sie bevorzugen einen eher rationalisierten Konfigurationsstil.
  • Sie verwenden Container oder Cloud-Hosting, bei dem jedes Gramm Speicher zählt.

Apache ist besser, wenn:

  • Sie benötigen umfassende Kompatibilität mit Apache-exklusiven Funktionen wie .htaccess.
  • Sie möchten Module für hochspezifische Funktionen.
  • Sie müssen ältere Web-Apps ausführen, die für Apache erstellt wurden und mod_php.
  • Sie sind einfach vom Apache-Konfigurationssystem begeistert.
  • Ihr Server ist in erster Linie eine Entwicklungsbox und die Leistung ist weniger kritisch.

Es gibt keine Regel, die besagt, dass Sie sich für eines entscheiden müssen.

Es ist weit verbreitet, NGINX als Reverse-Proxy vor Apache auszuführen. Auf diese Weise können Sie die unschlagbare statische Dateibereitstellung und gleichzeitige Verarbeitung von NGINX mit der umfassenden dynamischen Sprachunterstützung von Apache auf dem Backend kombinieren – das Beste aus beiden Welten.

Einpacken

Apache und NGINX sind beide großartig. Bei der Auswahl geht es also hauptsächlich darum, was Ihren Anforderungen am besten entspricht.

Denken Sie daran, dass selbst der leistungsstärkste Webserver nur ein Rädchen im Getriebe ist. Wenn die Site also träge ist, sollte die Webserver-Software oder -Hardware nicht unbedingt als Erstes optimiert werden.

Intelligenteres Caching, Datenbanktuning, Codeoptimierung und solide zugrunde liegende Hardware können Ihren Stack stärker beschleunigen, als wenn Sie stundenlang an NGINX oder Apache herumbasteln.

Wenn Sie einen Server zum Experimentieren benötigen, probieren Sie den verwalteten VPS von DreamHost aus. Mit einem VPS können Sie auswählen, welche Software installiert werden soll, wie der Server auf Anfragen reagieren soll und vieles mehr. Außerdem können Sie mit der Flexibilität eines VPS mehrere Websites auf einem einzigen Server hosten und die Ressourcen entsprechend auf sie aufteilen.

Darüber hinaus sind alle DreamPress-Pläne jetzt mit NGINX ausgestattet.

Die einzige Möglichkeit, ein ideales Setup zu finden, besteht darin, zu experimentieren. Starten Sie einen VPS, installieren Sie NGINX und Apache und sehen Sie, was für Sie am besten funktioniert!

VPS-Hosting

VPS-Hosting

Wenn Sie Leistung erwarten, holen Sie sich DreamHost VPS

Ob groß oder klein, Website oder Anwendung – wir haben eine VPS-Konfiguration für Sie.

Mehr sehen

Leave a Reply