In meinem vorherigen Artikel habe ich untersucht, warum PHP7 der richtige Weg für WordPress ist und im heutigen Artikel ist der Webserver an der Reihe.
Ein großer Teil eines guten Hosting-Erlebnisses ist die Konfiguration des Webserver-Stack. Ein schneller Stack ist für eine gute WordPress-Leistung und eine großartige Benutzererfahrung von größter Bedeutung. Ich habe bereits besprochen, warum PHP7 eine so gute Möglichkeit ist, die WordPress-Leistung automatisch zu verbessern, aber was ist mit dem eigentlichen Webserver?
Heute werde ich erklären: Was ist ein Webserver, was sind die beliebtesten und warum nginx so verdammt gut ist!
Der Webserver
Einer der wichtigsten Aspekte des Hostings ist die tatsächliche Webserver. Der Webserver ist dafür verantwortlich, statische Inhalte wie HTML bereitzustellen und an den Client (dh direkt in Ihren Browser) zu senden. Der Webserver ist also auch dafür verantwortlich, alle Informationen zu verarbeiten, die über den PHP-Prozessor eingehen, und sie in Bits umzuwandeln, die durch das Netzwerk in Ihren Browser gelangen. Der Webserver-Stack arbeitet mit dem Client / Server-Modell wobei der Webserver als Server (Anbieter von Inhalten) und der Client (Sie) als derjenige agiert, der ihn anfordert.
Die gängigsten Webserver sind Apache, IIS von Microsoft und natürlich nginx.
Der Webserver kann mit geringfügigen Unterschieden sowohl statische als auch dynamische Inhalte verarbeiten, die an den Client gesendet werden. Der Serverteil wird in den Speicher geladen, was als bezeichnet wird ein Arbeiter und es ist für die Bereitstellung der angeforderten Inhalte verantwortlich. Sowohl Apache als auch nginx verarbeiten statische und dynamische Inhalte. Während Apache in der Lage ist, beides innerhalb desselben Worker-Prozesses zu verarbeiten, tut nginx dies nicht, da es dafür einen externen Prozessor benötigt.
Warum sind Apache und nginx so beliebt? Die einfache Antwort ist, dass sie Open Source und kostenlos sind. Zusammen machen sie fast 50 % des gesamten Verkehrs der Welt aus, keine leichte Aufgabe!
Was ist Apache?
Die Apache Der HTTP-Server wurde 1995 von Robert McCool erstellt und befindet sich noch in der Entwicklung unter der Apache Software Foundation. Dieser Webserver ist seit 1996 die beliebteste Wahl. Er ist sehr modular aufgebaut, verfügt über jede Menge Dokumentation und ist so beliebt, dass er die Grundlage für alle wichtigen Webhosting-Control-Panels bildet. Es ist sogar in enthalten cPanel, das meistgenutzte Bedienfeld der Welt.
Natürlich ist es flexibel, das ist die Entschuldigung, die die überwiegende Mehrheit der Leute, die es benutzen, vorbringt, wenn sie gefragt werden, und im Allgemeinen ist das wahr. Es ist auch sehr erweiterbar und da es Module dynamisch laden kann (etwas, woran nginx noch arbeitet), kann es leicht konfiguriert werden.
Apache ist in der Lage, statische und dynamische Inhalte im selben Worker selbst zu verarbeiten, also ist es perfekt für seine Flexibilität, aber (und es gibt immer ein Aber) tut dies auf Kosten von Leistung.
Apache ist dafür bekannt, etwas langsam zu sein, aber nichts kam dieser Wahrheit nahe, als nginx populär wurde. Der Leistungsunterschied zwischen ihnen ist etwas, das nicht zu übersehen. Allein aus diesem Grund stellen die meisten großen Unternehmen auf nginx um. Obwohl Apache immer noch beliebt ist, werden sich die Dinge in Zukunft sicherlich ändern, da die Technologie aufholt und immer mehr Software, die bisher nur auf Apache funktionierte, nginx einbezieht.
Was ist mit Nginx?
Nginx kommt von Mutter Russland. Im Jahr 2002 begann ein Programmierer namens Igor Sysoev mit der Arbeit an nginx, da er zutiefst besorgt über das C10K-Problem war. Das was? Einfach ausgedrückt: Optimierung Netzwerksteckdosen eine große Anzahl von Clients gleichzeitig zu verwalten, was Apaches größter Nachteil und eine echte Herausforderung für das moderne Web war. Die erste nginx-Version wurde 2004 basierend auf einer ereignisgesteuerten Architektur veröffentlicht.
Nicht einmal Sysoev selbst konnte sehen, wie viel Erfolg nginx haben würde. Die enormen Vorteile der Geschwindigkeit unter nginx und die geringe Ressourcenauslastung wurden im Laufe der Zeit deutlich. Nginx hat eine großartige Möglichkeit, statische Inhalte bereitzustellen, aber kann nicht damit umgehen dynamische Inhalte. Dies erwies sich auch als Vorteil, da der dynamische Inhalt nicht an denselben Worker gebunden war und somit viel schneller arbeiten konnte.
Nginx zeichnet sich dadurch aus, dass es schnellere Inhalte für ein viel höheres Verbindungsvolumen bereitstellt als Apache und ist derzeit die Wahl für Hosting-Dienste, die die bestmögliche Leistung bieten möchten. Seine ereignisgesteuerte Architektur und seine asynchrone Natur sind die Hauptpunkte für seine Leistung.
Anfangs hatte nginx einen Hauptnachteil, die Dokumentation. Es hatte einen schwierigen Start, da der Programmierer Russe war und er seine Funktionen dokumentierte. Aber im Laufe der Zeit und immer mehr Leute verwenden nginx, hat sich die Dokumentation immens verbessert.
Der andere Nachteil von nginx ist das Fehlen eines modularen Designs, was bedeutet, dass es Regeln können nicht in Echtzeit verarbeitet werden wie Apache es mit seiner .htaccess-Datei macht und Module können auch nicht in Echtzeit geladen werden. Dies ist etwas, woran nginx bereits arbeitet, aber noch Zeit brauchen wird, um der Flexibilität von Apache gerecht zu werden.
Die Nachteile werden jedoch schnell von der hervorragenden Leistung überschattet. Dies allein hat es nginx ermöglicht, die beliebte Wahl für leistungsorientiertes Hosting zu werden, und es ist die Grundlage für Dienste, die so weit verbreitet sind wie Dampf, was immer wieder beweist, dass es in jeder Hinsicht durchweg bessere Ergebnisse als Apache erzielen kann.
Warum ist Nginx die bevorzugte Wahl für WordPress-Hosting?
Es gibt mehrere Punkte, in denen nginx beim Hosten von WordPress-Sites weitaus besser als Apache ist. Ich werde versuchen, dies in der folgenden Liste zusammenzufassen.
Einfach zu installieren
Nginx ist ein komplettes Paket, es erfordert nur sehr wenige externe Module, um zu funktionieren, und die meiste Zeit dauert es nur eine Zeile in Linux, um es zu aktivieren.
apt-get install nginx
yum install nginx
Es genügt, damit nginx als Dienst aktiv ist. Der Rest ist in der Konfiguration.
Kann als Proxy für Apache oder jeden anderen Webserver arbeiten
Nginx kann jeder Apache-Webserverkonfiguration eine sofortige Leistungssteigerung bieten, indem es als Proxy ausgeführt wird, ohne die Funktionalität des Servers in irgendeiner Weise zu beeinträchtigen.
Kann direkt mit einem Microcache oder sogar Fastcgi-Cache arbeiten
Nginx ist dank seines eingebauten Microcaches großartig und kann sogar mit einem Fastcgi-Cache arbeiten, um die Leistung um den Faktor 10 zu beschleunigen. Nginx kann auch bei der Arbeit mit einem Fastcgi-Cache eine enorme Leistungssteigerung bieten und benötigt nicht einmal einen externen Caching-Mechanismus wie Memcache.
Die Bereitstellung von Inhalten ist unglaublich schnell
Nginx ist beim Umgang mit statischen Inhalten blitzschnell und für solche Zwecke sehr einfach zu konfigurieren. Eine einzige Codezeile kann den Zugriff auf die gängigsten Dateien wie statischen Inhalt ermöglichen und deren Leistung verbessern. Wenn Sie wissen, wie man HttpProxyModule konfiguriert, können Sie sogar die gleiche Leistung für dynamische Inhalte erzielen, ohne die Funktionalität des Webservers zu beeinträchtigen.
Fast 4-mal mehr gleichzeitige Verbindungen als Apache
Wenn Sie erwägen, eine Website mit sehr hoher Nachfrage mit Tausenden von Besuchen pro Tag zu hosten, wäre es gut für Sie zu wissen, dass nginx bis zu viermal so viele gleichzeitige Verbindungen verarbeiten kann wie Apache, was zwei Dinge bedeutet:
- Ihre Website wird insgesamt schneller
- Sie benötigen dafür weniger Ressourcen als Apache.
Dies liegt an der ereignisgesteuerten Natur von nginx und ist für den nächsten Vorteil verantwortlich.
Sehr leicht
Nginx ist so gut verarbeitet, dass es unglaublich ressourcenschonend ist. Dies bedeutet, dass es verwendet wird weniger CPU-Zeit um jede Verbindungsanfrage zu verarbeiten und wird dies tun mit viel weniger Speicher. Auf diese Weise können Sie größere Sites auf demselben Server hosten, die zuvor in Apache nicht dazu in der Lage waren.
Das Erfolgsgeheimnis liegt im Motor selbst. Nginx arbeitet als ereignisgesteuerter Webserver, was bedeutet, dass er „Ereignisse“ auf dem Arbeiter abhört und nur bei Bedarf reagiert. Die auf Nachfrage -Argument in nginx ermöglicht es dem Dienst, bei Bedarf Listener zu starten und zu entfernen. Dies trägt dazu bei, die Speichernutzung zu reduzieren und die Effizienz zu steigern. Apache hat versucht, einen Ereignismodus in den mpm-event-Worker einzubinden, aber es ist kläglich gescheitert, die nginx-Geschwindigkeit zu erreichen, da Apache nicht als ereignisgesteuerter Webserver konstruiert wurde.
Es kann Load Balance
Nginx kann für den Lastausgleich konfiguriert werden, wodurch die Rate gleichzeitiger Verbindungen noch weiter erhöht wird, indem die Last auf mehrere Server verteilt wird, was es ideal für Projekte mit einer sehr hohen Last gleichzeitiger Verbindungen macht.
Was bedeutet das alles?
Es bedeutet, dass nginx . ist Ideal für WordPress in fast jeder Hinsicht. Das bedeutet, dass Sie fast unmittelbar nach der Implementierung von den Vorteilen der Verwendung profitieren werden. Wenn Sie ein Systemadministrator sind, ist die Installation von nginx ein Kinderspiel. Wenn Sie im Gegenteil ein Projekt entwerfen oder Ihre Website hosten und woanders hosten möchten, sind die Chancen sehr hoch, dass Ihr Hosting mit nginx schneller funktioniert.
Hochwertige Hosting-Unternehmen wie WP Engine und Flywheel laufen bereits auf nginx. Wenn Sie jedoch zu einem anderen Hosting-Unternehmen gehen, recherchieren Sie oder fragen Sie einen Support-Techniker, ob der Webserver-Stack nginx enthält. Ich kann Ihnen garantieren, dass nginx in einem Teil des Stapels enthalten ist, wenn der Dienst qualitativ hochwertig ist.