Warum Sie sich auf die Verbesserung der Drupal-Leistung mit Nginx konzentrieren sollten

Veröffentlicht: 2018-01-14

Wir alle wissen, dass Drupal der Ort ist, an dem Flexibilität auf Einfachheit trifft. Drupal ist ein CMS, das als perfekte Lösung für technisch nicht versierte Benutzer entwickelt wurde. Es ist ein einheitliches System, das die Stärken eines Content-Management-Systems und eines Content-Management-Frameworks vereint. Unabhängig davon, was ein Site-Builder erstellen möchte (von einer Nachrichtenseite oder einem Online-Shop bis hin zu einem sozialen Netzwerk oder einer hochkomplexen Regierungswebsite), ist es nur eine Frage der Kombination der richtigen Module für eine perfekte Drupal-Entwicklung. Nginx ist als dieser superstarke Webserver bekannt, der zum Cachen, Lastausgleich, Reverse-Proxy und vielem mehr verwendet werden kann, um die Leistung einer Website zu verbessern. Die Drupal Nginx-Kombination kann zu einer maximalen Leistung führen. Schauen wir uns an, warum Sie Nginx für Ihr nächstes Drupal-Projekt wählen sollten.

Drupal hat sich ständig aktualisiert und seine neueste Version ist ein Beweis dafür, wie sich dieses Open-Source-CMS schnell zu einem der gefragtesten Frameworks entwickelt hat (fast 1 Million Websites verwenden Drupal 7 laut einem Bericht von Drupal.org). Version von Drupal-Drupal 8 hat seine Benutzer mit einigen der aufregendsten Funktionen in den Bann gezogen.

Einige dieser Funktionen von Drupal 8 sind:

  • Out-of-the-Box-Webservice: Vorbei sind die Zeiten, in denen Websites nur für Desktops und Webservices nur für Websites verwendet wurden, die einen Dienst von anderen Systemen nutzten. Mit einer Vielzahl von Geräten im Bild sind Webdienste in der heutigen Welt wichtiger denn je. Während Webdienste in Drupal 7 von einem Drittanbietermodul unterstützt werden, wurde es in den Kern von Drupal 8 aufgenommen.
  • Sicherheitsverbesserungen: Sicherheit war schon immer ein Thema, und mit dem Hinzufügen neuer Funktionen hat Drupal 8 Möglichkeiten geschaffen, Systeme sicherer zu machen.
  • Einfacher und schneller: Mit Drupal 8 ist die Drupal-API vollständig RESTful, was es dem Entwickler erleichtert, Angular.js, Ember.js und viele andere Anzeigetools ohne großen Aufwand zu verwenden.
  • Mobile Verbesserungen: Wie bereits erwähnt, sind mobile Geräte die treibende Kraft in der heutigen Welt. Drupal 8 bietet vollständige Unterstützung für mobile Site-Vorlagen, begleitet von einer einfachen Back-End-Verwaltung über ein mobiles Gerät.

Da die meisten dieser Funktionen einige der größten und komplexesten Websites unterstützen, die viel Traffic generieren und anfällig für Leistungsprobleme sind, ist es wichtig, diese Probleme so schnell wie möglich zu lösen, da die treibende Kraft des Traffic-Wachstums nicht nur auf Kunden beschränkt ist und Servern, sondern auch zwischen den Back-End-Servern. Die Implementierung von Nginx mit Ihrer Drupal 8-Website kann alle Ihre serverbezogenen Probleme lösen und die Leistung der Site steigern.

Site-Architektur mit Drupal Nginx

Eine Vielzahl von Drupal-Websites verwenden zunächst den Apache HTTP-Server als Webserver und die Tatsache, dass Anweisungen zur Konfiguration weit verbreitet sind, macht ihn zur ersten Wahl für viele Website-Besitzer. Aber wenn die Website wächst und mehr Verkehr generiert, wechseln die Leute zum NGINX-Server. In dieser Phase, in der es schwierig ist, mehr als 10.000 Verbindungen gleichzeitig zum gesamten Server zu unterstützen, der einfriert oder abstürzt, teilen sich Drupal und Apache Probleme, die schwer zu überwinden sind.

Da die Schwachstelle der Site auf dem Spiel steht, ist Drupal 8 NGINX die bevorzugte Wahl der Unternehmen, um die Architektur der Site zu stabilisieren. Anstatt Server zu wechseln und Probleme zu verursachen, können mehrere Schritte unternommen werden, um solche leistungsbezogenen Probleme zu beheben, wenn die Site wächst.

  • NGINX als erste Wahl für den Webserver Ihrer Drupal-Site verbessert die Leistung und reduziert die Speicherauslastung stark.
  • NGINX ist einer der beliebtesten Reverse-Proxy-Server für eine Reihe von Drupal-Sites, da er den Internetverkehr verarbeiten und die Belastung Ihres Anwendungsservers reduzieren kann.

Webserver

Eine schnelle Lösung, die sich um die Leistung, Sicherheit und Flexibilität Ihrer Drupal-Website kümmern kann, ist ein Wechsel von Apache zu NGINX als Webserver für Ihre Website. Ein häufiges Problem, das die meisten Webserver heimsucht, ist das C10K-Problem – die Schwierigkeit, die Webserver haben, gleichzeitige Verbindungen zu unterstützen (normalerweise nicht mehr als 10.000 Verbindungen gleichzeitig). NGINX wurde entwickelt, um dieses spezielle Problem zu lösen. Mit der Fähigkeit, eine fortlaufende Ereignisschleife auszuführen, die Anfragen verarbeitet, sobald sie auftreten, ohne den Anforderern Ressourcen zuzuweisen, eliminiert Drupal NGINX den Overhead, der durch das Forking eines neuen Prozesses für jede neue Verbindung entsteht.

Reverse-Proxy-Server mit Drupal 8 Nginx

Ein Reverse-Proxy-Server ist nicht wie Ihre üblichen Server. Dieser Server empfängt die Anfragen von den Browsern und anstatt sie sofort zu verarbeiten, prüft er jede Anfrage und entscheidet, welche Aktion er ausführen soll: entweder die Anfrage selbst ausführen oder zur Erfüllung an einen anderen Server senden.

Die Bereitstellung eines solchen Servers ist der erste Schritt beim Erstellen einer Site-Architektur, die Flexibilität, Redundanz, verbesserte Sicherheit und einen Korb voller anderer guter Dinge ermöglicht. Einer der Hauptgründe, warum ein Reverse-Proxy-Server wahrscheinlich die Leistung einer Website unterstützt, liegt darin, dass die Kommunikation zwischen den Webservern schneller ist als die Kommunikation über das Internet. Und diese Kommunikation mit anderen Webservern in der Reverse-Proxy-Bereitstellung ist im Wesentlichen kostenlos.

Durch das Hinzufügen eines Reverse-Proxy-Servers muss Ihre Drupal-Site also nicht den gesamten Internetverkehr direkt verarbeiten. Dieser Server kümmert sich sofort um eine Site, die unter dem Druck von riesigem Datenverkehr, Sicherheitsproblemen und Leistungsproblemen zusammenbricht. Mit der Einführung neuer Flexibilitäten in der Site-Architektur ermöglicht ein Reverse-Proxy-Server neue Fähigkeiten und Funktionen, die effizient ausgeführt werden können, ohne den Anwendungsserver zu beeinträchtigen.

Mehrere Anwendungsserver und Lastausgleich

Es ist höchst unmöglich, mit einem einzigen Anwendungsserver eine bessere Leistung zu erzielen. Größere und schnellere Server sind jedoch potenziell teuer und da ein einzelnes Gerät immer eine inhärente Leistung hat, müssen Sie das aktuelle Gerät aufrüsten oder ersetzen (ein äußerst störender Vorgang), um mehr Leistung zu erzielen. Hier kommt ein Reverse-Proxy-Server ins Spiel. Dieser Server ermöglicht die Verwendung mehrerer Anwendungsserver, wodurch eine bessere Drupal-Leistung gewährleistet wird, indem einfach zusätzliche Server zum System hinzugefügt werden. Dieser Vorgang des Hinzufügens und Entfernens der Server kann mit den richtigen Softwaretools wie NGINX Plus vereinfacht werden, was die Ausfallzeiten erheblich reduziert.

Das Vorhandensein mehrerer Anwendungsserver bedeutet, dass es eine Technik geben muss, um zu entscheiden, welcher Server die nächste Anforderung erhält. Die Techniken reichen von einem einfachen bis hin zu einem komplexen Ansatz, bei dem jeder Server vom System untersucht wird, um herauszufinden, welcher am wenigsten ausgelastet ist, bevor eine Anfrage gesendet wird. Dies wird als Load-Balancing bezeichnet. Der NGINX-Server und NGINX Plus unterstützen fünf Lastausgleichstechniken, die bei der Verbesserung der Drupal-Leistung helfen.

Überprüfen Sie diese offizielle Drupal 8 Nginx-Konfigurationsdatei, die von Nginx empfohlen wird, um mit der Implementierung auf Ihrer Drupal 8-Website zu beginnen.