Das ich seit längerer Zeit bei meinem grössten Webprojekt auf WordPress setze ist sicher kein Geheimnis. Auch das ich von Anfang an nicht mit der Performance zufrieden war auch.
In dieser Beitrag Reihe möchte ich meine Erkenntnisse mit euch teilen.
Wo drückt der Schuh?
Aus Bequemlichkeit setze ich seit Jahren auf vServer auf Linux Basis mit Plesk sein. Und das eigentlich mit herzeigbaren Erfolg. So habe ich vor über einem Jahr auch mein grösstes Projekt auf einen solchen vServer gelegt. Und ich musst feststellen das die Performance Optimierung in Kombination mit Plesk, nicht zu meinen Stärken zählt.
Nach einigen Monaten an Tests und Optimierungen habe ich nun einen Grad an Performance erreicht mit dem ich leben und arbeiten kann.
Nun genug Blabla.. fangen wir an mit..
PLESK 11.5.x
Plesk 11.5 (zur Zeit des Artikels 11.5.30) kommt von Haus aus mit nginx und php-fpm. Diese Module kann man einfach hinzufügen.
Aber wie schaltet man sie scharf?
Das ist eigentlich auch nicht so schwer..
Im Plesk einfach unter Abonnement – Websites & Domains im Feld der betroffenen Domain die Webserver Einstellungen anklicken
Dort ist es eigentlich auch keine Hexerei. Wie ihr im Screenshot seht empfehle ich die Aktivierung aller 3 Nginx Optionen.
Um die Zusätzlichen Nginx Anweisungen nicht auszuhebelen empfehle ich folgende statischen Dateien direkt durch Nginx bedienen zu lassen:
ac3 avi bmp bz2 css cue dat doc docx dts exe flv gif gz htm html img iso mkv mp3 mp4 mpeg mpg ogg pdf png ppt pptx qt rar rm swf tar tgz txt wav xls xlsx zip
Okay nun ist der Nginx mal für seine Arbeit vorbereitet und weiß wie er den Apache unterstützen soll. Die WordPress bezifische Arbeit passiert aber hier in den zusätzlichen Nginx-Anweisungen.
Mit Hilfe dieser Anweisungen erklärt ihr dem Nginx wie er mit den Permalinks Anweisungen von WordPress umzugehen hat, für welche Dateien er einen Browserchache setzt und was er wie zu komprimieren hat.
if (!-e $request_filename){
rewrite ^(.*)$ /index.php break;
}
location ~* .(js|css|png|jpg|jpeg|gif|ico)$ {
expires 30d;
add_header Pragma public;
add_header Cache-Control „public“;
try_files $uri @fallback;
}
gzip on;
gzip_proxied any;
gzip_types text/plain text/xml text/css application/x-javascript;
gzip_vary on;
gzip_disable „MSIE [1-6].(?!.*SV1)“;
Ich hoffe euch mit diesen Artikel ein wenig geholfen zu haben und würde auf Feedback freuen.
In den nächsten Wochen reiche ich noch ein paar Beiträge nach und zeige euch unter anderem auf welche Performance Plugins in setze und wie diese mit anderen Plugins zusammen spielen.