/ Linux

Wordpress, nginx & wp-rocket

Zur Zeit beschäftige ich mich vermehrt mit Worpdress und Caching.

Bisher setzte ich als Caching-Plugin auf Cachify, ehemals entwickelt von Sergej Müller mit memcached als Backend, welches direkt vom nginx angesprochen wird - so wirklich glücklich, was die Geschwindigkeit angeht, war ich damit aber nicht.

Nach einiger Recherche bin ich nun auf WP-Rocket aufmerksam geworden, einem kostenplichtigen Caching-Plugin. Mein bisheriger Eindruck ist bisher sehr postiv, rein subjektiv gefühlt hat sich die Geschwindigkeit im Gegensatz zu Cachify deutlich verbessert - aber es gibt ja immer noch etwa mehr Optimierungsmöglichkeiten.

Nach weiterer Recherche bin ich dann auf Github auf das Projekt Rocket-Nginx gestoßen. Die Installation ist denkbar einfach. Getestet habe ich dies unter Debian 9 und CentOS 7. Angenommen wird, dass nginx unter /etc/nginx/ seine Konfiguration abgelegt hat:

cd /etc/nginx
git clone https://github.com/maximejobin/rocket-nginx.git
cd rocket-nginx
cp rocket-nginx.ini.disabled rocket-nginx.ini
php rocket-parser.php

Der Aufruft der PHP-Datei generiert eine default.conf, welche in alle eure vHosts eingefügt werden muss, die für eine Wordpress-Installatio mit WP-Rocket genutzt werden. Dies geschieht mit einem einfachen include:

include rocket-nginx/default.conf;

Dieses erweitert eine vorhandene nginx-Konfiguration für eine Wordpress-Installation um nützliche Erweiterungen wie z.B. HSTS und GZIP.

Was die Sache nun besonders hilfreich macht: Im Normalfall werden die von WP-Rocket generierten HTML-Seiten wie folgt ausgegeben:

NGINX → PHP-FPM → PHP → Static file

Durch Nutzung der weiteren Regeln für nginx verkürzt sich dieser Weg wie folgt:

NGINX → Static file

Nginx liefert also direkt die statischen Seiten aus ohne erst den Umweg über PHP gehen zu müssen.