Mit gezielten Server-Optimierungen lässt sich die Geschwindigkeit von Websites enorm steigern. Ein guter Weg ist die Komprimierung durch Apache-Module, welche in der Datei htaccess definiert werden. Das klappt aber nicht auf jedem System. Wie es unter Apache und nginx funktioniert, zeigt nachfolgendes Beispiel anhand eines V-Servers und der Verwaltungsoberfläche Plesk.
Website-Beschleunigung unter Apache und nginx!
Ein performantes System für schnelle Websites erhält man eigentlich nur durch nachträgliche Optimierungen. Je nach Webhosting-Paket ergeben sich mehr oder weniger Möglichkeiten. Wer einen Server oder V-Server betreibt, hat normalerweise kaum Einschränkungen.
In dem Artikel "Schnelle Website mit gezielten Optimierungen" wurden bereits diverse Maßnahmen beschrieben, um den Pagespeed auch mit günstigen Hosting-Paketen zu verbessern. Dort wird auf die benötigten Module eingegangen und wie diese dann in einer htaccess-Datei aktiviert werden. Es lohnt sich, den Artikel zu lesen, um auch die Definitionen hier nachvollziehen zu können.
Bei dieser Methode müssen die Module natürlich von Apache interpretiert werden, was z.B. bei einem vorgeschalteten Nginx-Server nicht mehr funktioniert. Anstelle der Apache-Anweisungen müssen also nginx-Anweisungen definiert sein. Dies kann auf dem Server in der nginx.conf gemacht werden. Je nach verwendetem System erfordert das ein anderes Vorgehen.
Recht einfach kommt man bei Verwendung der Verwaltungsoberfläche Plesk zum Ziel, welche mittlerweile sehr häufig im Einsatz ist. Normalerweise sind in Plesk Service-Pakete, Abonnements und Kunden vorhanden. Bereits im Service-Paket unter Webserver könnten die zusätzlichen nginx-Anweisungen eingetragen und mit den zugehörigen Abonnements und Kunden synchronisiert werden.
Nachfolgend wird aber ein Abonnement bearbeitet, welches nicht nur die zusätzlichen nginx-Einstellungen zur Verfügung stellt und ebenfalls automatisch für den Kunden synchronisiert. Unter Abonnements wird also "Einstellungen für Apache & nginx" aufgerufen.
Nun empfiehlt es sich, alle Häkchen bei den nginx-Einstellungen zu setzen. Normalerweise sind bereits Datei-Endungen vordefiniert, welche direkt durch nginx bedient werden sollen. Hier muss alles entfernt werden, was in den zusätzlichen nginx-Anweisungen steht.
Das hier gezeigte Beispiel funktioniert sehr gut, kann aber natürlich noch individuell angepasst werden.
gzip on;
gzip_disable "MSIE [1-6]\\.(?!.*SV1)";
gzip_proxied any;
gzip_types text/plain text/css application/javascript application/x-javascript text/x-component text/html text/richtext text/xsd text/xsl text/xml application/xml application/xml+rss text/javascript image/x-icon image/bmp image/svg+xml;
gzip_vary on;
location ~* \.(js|css|png|jpg|jpeg|gif|ico|pdf|flv|swf|mp3|avi|bmp|img|mkv|mp4|mpeg
|mpg|ogg|woff|woff2|svg)$ {
expires 30d;
add_header Pragma public;
add_header Cache-Control "public";
try_files $uri @fallback;
}
Kunden haben in Plesk nur Zugriff auf die normalen nginx-Einstellungen, können also die statischen, durch nginx bedienten Dateien ebenfalls definieren. Wer an die zusätzlichen Einstellungen nicht rankommt, müsste mit seinem Web-Hoster sprechen.
Abschließend lässt sich die Komprimierung, Browser-Caching usw. z.B. mit PageSpeed Insights testen.