Falls mal jemand fragt

IT-Blog und auch total anderes Zeug

WordPress Icon

WordPress optimieren mit Plesk 11.5 und nginx

| 11 Kommentare

Ruhig war es in letzter Zeit auf dem Blog. Dies lag unter anderem daran, dass ich mich der Optimierung der Seite gewidmet habe und wir mit dem Blog auf einen neuen Virtual Server von Host Europe umgezogen sind. Die getätigten WordPress Speed-Optimierungen mittels Plesk 11.5 und nginx will ich euch natürlich nicht vorenthalten.

Voraussetzung für dieses Tutorial ist eigentlich nur ein Webspace oder Server mit Plesk 11.5. nginx ist Webserver-Software, Reverse- und E-Mail-Proxy in einem und wurde unter der BSD-Lizenz veröffentlicht. Bei Plesk sind die benötigten Module integriert und müssen nur über das Parallels Plesk Panel installiert werden. Wie bei jeder Installation, sollte vorher ein Snapshot angelegt werden, um gegebenenfalls kurzfristig den Urzustand wiederherzustellen. Bevor wir mit der Plesk-Konfiguration beginnen können, müssen wir das Paket php5-fpm installieren. Für Ubuntu Server lautet der Befehl beispielsweise:  apt-get install php5-fpm .

Einrichtung unter Plesk 11.5.30

Nach dem Login in das Parallels Plesk Panel kann über den Menüpunkt „Komponenten hinzufügen oder entfernen“ unter Start > Systemüberblick das Parallels Update-Menü gestartet werden.

140403-WordPress-optimieren-mit-nginx01

Hier können nun der Menüpunkt „Nginx web server and reverse proxy support“ und dessen zwei Unterpunkte „Nginx reverse proxy support“ und „php-fpm support for nginx“ zur Installation ausgewählt werden.

140403-WordPress-optimieren-mit-nginx02

Wenn die Installation erfolgreich verlaufen ist, kann unter den Webserver-Einstellungen der jeweiligen Domain die Nginx-Einstellungen vorgenommen werden und php-fpm aktiviert werden.

140403-WordPress-optimieren-mit-nginx03

140403-WordPress-optimieren-mit-nginx04

Wenn nun alle Haken gesetzt sind sollten untensehende Regeln in die „Zusätzlichen Nginx-Anweisungen“ mit aufgenommen werden. Dies ist notwendig, weil der Apache die Dateien nicht mehr ausliefert und somit auch die Module wie mod_rewrite, mod_headers, usw. nicht mehr funktionieren, da nginx jetzt unsere zentale Anlaufstelle ist.

Die erste Regel bewirkt, dass der Rewrite der index.php weiterhin funktioniert. Die zweite Regel setzt den Expire-Header der statischen Dateien in der Klammer auf 30 Tage und die letzte Regel regelt die gzip-Komprimierung. Wichtig ist, dass die statischen Dateien aus der 2. Regel (js|css|png|jpg|jpeg|gif|ico) in dem Feld unter „Statische Dateien direkt durch Nginx bedienen“ nicht mehr vorkommen, denn standardmäßig stehen die Dateiendungen dort mit drin und dann wird kein expire-Date für diese Dateien gesetzt, was Google Pagespeed negativ beeinträchtigt.

Fazit

Die Auswirkungen, die aufgrund dieser kleinen Änderungen geschehen, sind enorm. Nicht nur der Google Pagespeed unserer Seite hat sich um 5 Punkte von 88 auf 93 gesteigert, auch vom Gefühl her ist die Seite deutlich performanter. Eine schnelle Seite hat ebenfalls Auswirkungen auf die Bounce-Rate, diese konnten wir um 5% senken. Hier spielen natürlich noch andere Faktoren mit, aber kein User besucht gerne eine langsame Internetseite.

Was sind eure Erfahrungen mit den Einstellungen? Habt ihr weiteres Verbesserungspotential? Feedback ist erwünscht und über einen Klick auf den Flattr-Button würden wir uns auch sehr freuen.

Autor: Florian

Als staatlich geprüfter Techniker für Computer- und Netzwerktechnik berichte ich auf fmjf.de sowohl über den alltäglichen Wahnsinn als IT-Admin, als auch über Apple, Wordpress und - wie im Slogan schon erwähnt - total anderes Zeug.

11 Kommentare

  1. Vielen Dank für die Anleitung!
    Ich habe schon viele Stunden damit verbracht, die richtige Konfiguration zu finden. Bei Plesk ist es irgendwie komplizierter, da für meinen geschmack so viele Configs in irgendeiner Abhängigkeit zueinander stehen.

    Hast Du schon eine Cachinglösung gefunden? Bei Cachify bekomme ich die Configanpassung nicht aktiviert, sodass ich nun WP-FFPC. Resultate sind etwas besser, als mit Apache, aber wahrscheinlich bin ich bloß zu doof, nginx richtig zu konfigurieren 🙁

    Grüße

    Patrick

  2. Also wir nutzen in Kombination mit oben beschriebener Konfiguration WP Super Cache (https://wordpress.org/plugins/wp-super-cache/). Das funktioniert soweit ganz gut.

  3. danke für die anleitung!
    hast du apache vollständig deaktiviert?

  4. Nein. Der Apache rennt immer noch (u.a. für andere Projekte).

  5. Die Frage ist ob es wirklich so einfach ist. Ist der von dir beschriebene Weg wirklich die Konfiguriation eines NGINX Webserver oder ein reverse Proxy für dessen Betrieb Apache trotzdem benötigt wird?

  6. Danke für die Anleitung. Ich habe diese nachgebaut. Leider bekomme ich bei dieser Konstellation eine lange Wartezeit bis der First Byte überhaubt ausgeliefert wird. Eine Kombination aus Apache und Ngnix unter Plesk 12 braucht bis 1,3Sek. bis zum Transfer von Daten. Eindeutig zu lange. Wenn ich nur über Apache laufen lasse, dann fällt der Wert auf 0,3Sek.
    Auch der Hosteurope-Support konnte mir das bestätigen.

  7. Wenn du ein bisschen tiefer im nginx nachschauen möchtest, kannst du mal deine worker_process-Konfiguration gegenprüfen.
    Tipps dazu findest du u.a. hier: http://www.if-not-true-then-false.com/2011/nginx-and-php-fpm-configuration-and-optimizing-tips-and-tricks/

  8. Hm.. Plesk mit Ngix und Apache ist keine so gute Idee.. denn die Konfiguration des Apache ist nicht gerade „Bombe“ und von Ngix ist es auch nicht das gelbe vom Ei. Insbesondere weil sehr häufig das von Alex beschriebene Problem auftritt (oder der Server wird sehr stark belastet)

  9. Ich verstehe den Mehrwert deines Kommentars nicht ganz. Hier geht es um besagte Konfiguration für die Leute, die Plesk und nginx betreiben wollen. Alternativen werden nicht aufgezeigt und die Aussage, dass der Server sehr stark belastet wird stimmt so nicht.
    Sorry, aber klingt für mich mehr nach Troll als nach konstruktiver Kritik.

  10. Vielen Dank für die gute Anleitung. Bei mir funktioniert nginx nun gut. Leider funktioniert das WordPress caching Plugin momentan nicht. Werden mich wohl auf Fehlersuche begeben müssen.

  11. Leider werden bei mir mit dieser Einstellungen die css und js files nicht mehr geladen. Kriege ein 404 🙁 Irgendeine Ahnung woran es liegen könnte?

Schreibe einen Kommentar

Pflichtfelder sind mit * markiert.