Du kannst deinen WordPress Server mit NGINX einrichten und so die Serverlast und die Ladezeiten verringern. In dieser einfachen Anleitung zeige ich dir Schritt für Schritt, wie du einen WordPress Server mit NGINX einrichten kannst, wenn du Linux und Plesk verwendest.

Wie auch beim Apache handelt es sich bei NGINX um einen Server, der Inhalte über das Internet ausliefert. Mit dem Apache kann ein Prozess nur relativ wenige Anfragen beantworten, weshalb häufig mehrere Prozesse benötigt werden.  Der wesentliche Vorteil von Nginx besteht darin, das ein einziger Prozess sehr viele Anfragen verarbeiten kann, ohne das der Server unter der Last zusammen bricht. Aber im Gegensatz zum Apache kann Nginx keine dynamischen Inhalte, wie PHP Seiten ausliefern, sondern nur statische, wie HTML Seiten, Bilder oder CSS Dateien.

Wordpress Server mit Nginx und Apache

Ein WordPress Blog besteht aus einem Mix aus statischen und dynamischen Inhalten, wobei man das Verhältnis mit einem Cache Plugin für WordPress noch in die statische Richtung verschieben kann. Teilt man nun die Ausgabe statischer und dynamischer Inhalte auf, kann man einen WordPress Server entlasten. In so einem Szenario werden alle statischen Inhalte vom schnellen NGINX Server ausgeliefert und nur noch die dynamischen Inhalte werden an den langsamen Apache Server übergeben. Dabei ist weder eine weitere Serverhardware, noch eine weitere IP Adresse notwendig, denn beide Server laufen auf dem selben System und der Nginx Server wird einfach dem Apache vorschaltet.

NGINX installieren

Nginx installieren - WordPress Server - Linux - PleskAls erstes musst du NGINX auf deinem Server installieren. Dazu gehst du in Plesk in der linken Menüleiste auf „Tools & Einstellungen“ und dann unter Plesk auf „Updates und Upgrades“. Es öffnet sich der Plesk Updater, wo du mit einem Klick auf „Komponenten hinzufügen/entfernen“ zur Paketverwaltung gelangst. Dort aktivierst du unter „Webhosting“ den Punkt „Nginx …“ und alle Unterpunkte. Sobald du die Änderung am Ende der Seite bestätigst, beginnt Plesk automatisch damit NGINX zu installieren.

Hinweis: In den Abonnements der Plesk Verwaltung ist NGINX nicht verfügbar, wenn es nach der Installation nicht auch noch in der Serververwaltung aktiviert wurde. Folge dazu dem nächsten Schritt!

NGINX aktivieren

Als nächstes musst du NGINX aktivieren, damit du es in deinen Abonnements verwenden kannst. Gehe dazu links in der Menüleiste auf „Tools & Einstellungen“ und dann unter Serververwaltung auf „Service-Verwaltung“. Klicke nun auf das „Play Zeichen“ rechts neben „Reverse-Proxy-Server (nginx)“, um es zu aktivieren.

Nginx aktivieren - WordPress Server - Linux - Plesk

 

NGINX verwenden

Um NGINX zu verwenden, kannst du nun die folgenden Einstellungen an einem Service-Paket für mehrere Abonnements oder an einem einzelnen Abonnoment vornehmen.

FPM mit NGINX

Als erstes stellen wir unter PHP-Einstellungen die Ausführung auf „FPM-Anwendung von nginx bedient“.

Php-fpm mit Nginx - WordPress Server - Linux - Plesk

NGINX konfigurieren

Anschließend kannst du im Servicepaket unter „Webserver“ bzw. im Abonnement unter „Einstellungen für Apache & nginx“ NGINX konfigurieren.

NGINX Proxymodus

Da NGINX nur statische Inhalte ausliefern kann, lassen wir es für WordPress im Proxymodus laufen. Auf diese Weise wird der NGINX Server dem Apache vorgeschaltet und leitet dynamische Inhalte, die er selbst nicht ausliefern kann, an den Apache weiter.

Nginx Proxymodus - WordPress Server - Linux - Plesk

Hinweis: Wenn du den Proxymodus deaktivierst, kannst du keine dynamischen Inhalte mehr ausliefern, da der NGINX Server den Apache vollständig ersetzt. Das ist für WordPress und andere CMS keine gute Idee!

Apache oder NGINX

Nun müssen wir NGINX nur noch mitteilen, welche Inhalte es selbst ausliefern soll und welche an den Apache weiter geleitet werden. Dazu zwingen wir NGINX statische Inhalte immer direkt selbst auszuliefern, „ohne darüber nachzudenken“. Bei allen anderen Inhalten soll NGINX „intelligent entscheiden“, was an den Apache weitergeleitet wird.

NGINX oder Apache - WordPress Server - Linux - Plesk

NGINX Anweisungen

Weiter unten ist noch Platz für NGINX Anweisungen. Da sich NGINX nicht an die Anweisungen der .htaccess hält, sollten hier zwingend sichere Weiterleitungsregeln festgelegt werden.

NGINX Anweisungen - WordPress Server - Linux - Plesk

Hinweis: Wenn du WordPress mit angepassten Permalinks (SEO freundliche URLs, schöne Permalinks) verwendest, kann nur die Index Seite abgerufen werden. Anstelle der WordPress Beiträge/Seiten erscheint die NGINX 404 Seite, da NGINX die Permalinks nicht ohne weiteres versteht. Dies kannst du nur durch Abschalten der „schönen“ Permalinks oder eine geeignete Anweisung zur Weiterleitung beheben.

Zu Testzwecken kannst du zuerst folgende Weiterleitungsregel verwenden, um NGINX mit WordPress Permalinks zum Laufen zu bringen.


# get friendly url links working if (!-e $request_filename) { rewrite ^(.+)$ /index.php?q=$1 last; }

Nach dem Übernehmen der Einstellungen sollten die WordPress Beiträge/Seiten keinen NGINX 404 Fehler mehr zeigen.

Tip: Sollten die Unterseiten stattdessen leer bleiben, hast du womöglich einen PHP Fehler. Ich habe festgestellt das PHP weit sensibler auf Fehler reagiert, wenn es mit NGINX verwaltet wird. Wie du WordPress auf PHP Fehler prüfen und die Fehler leichter finden und korrigieren kannst, habe ich dir in einem gesonderten Artikel beschrieben.

Ich wünsche dir viel Spaß beim Basteln und freue mich auf deinen nächsten Besuch!