Lesedauer 4 Minuten

Diese Beitrag zeigt, wie man HTTP/2 auf einem Linux-Server unter Plesk installiert und aktiviert. HTTP/2 ist der Nachfolger von HTTP 1.1. und wird von Plesk ab Version 12.5.30 unterstützt. Um HTTP/2 unter Plesk zu installieren, ist etwas Vorarbeit notwendig: Man benötigt NGinx als Reverse Proxy Server zu Apache. Erst dann kann HTTP/2 unter Plesk aktiviert werden.

Welche Vorteile bringt HTTP/2?

Gegenüber HTTP 1.1. bringt das HTTP/2-Protokoll unter Anderem folgende Vorteile, die für schnellere Ladezeiten führen:

  • HTTP/2 ist im Gegensatz zu HTTP 1.1 ein binäres Protokoll (HTTP 1.1. ist reiner Text), d.h. schon ohne Kompression wesentlich kompakter.
  • Server-Anfragen und -Antworten werden per Multiplexing ausgeführt. D.h. es können mehrere Requests und der Empfang von Daten parallel ausgeführt werden.
  • Header-Compression: HTTP/2-Header werden komprimiert und dadurch schneller übertragen.
  • Data-Streaming: Das Streaming von Daten ist in HTTP/2 effektiver gelöst.

Doch bevor wir unter Plesk in den Genuss dieser Vorteile kommen, muss zuerst NGinx als Reverse Proxy Server dem Apache Webserver vorgeschaltet werden.

Plesk: NGinx als Reverse Proxy installieren

NGinx ist ebenfalls ein Webserver, der hier als Reverse Proxy alle Anfragen der Clients an Apache durchreicht. Seiten, die dann von Apache ausgeliefert werden, erhalten die Clients ebenfalls von NGinx. Hinter einem Reverse-Proxy können so z.B. mehrere Apache Webserver platziert werden, auf welche die Eingangslast verteilt wird.

plesk nginx as reverse

Aus der Sicht der Client findet die komplette Kommunikation direkt mit NGinx statt. NGinx bringt in unserem Fall folgende Vorteile:

  • NGinx kann ca. 4 x mehr Client-Anfragen managen, als Apache.
  • Hinter NGinx befindet sich neben Apache der NGinx Cache. D.h. es findet auch hier eine Art Lastverteilung zwischen Zielserver und Cache statt.
  • HTTP/2 ist in NGinx performanter implementiert.

Doch nun zur Installation von NGinx unter Plesk:

Zuerst muss das NGinx Paket in Plesk unter Tools & Settings / Updates hinzugefügt werden:

plesk nginx installieren e1580308051608

Danach muss der NGinx-Dienst in Plesk unter Tools & Settings / Services Management manuell gestartet werden. Sollte sich beim Start von NGinx der Apache-Dienst verabschieden, muss dieser ebenfalls noch mal manuell angeschubst werden. Wichtig: Beide Dienste müssen laufen:

plesk nginx apache e1580308493796

Als Nächstes loggen wir uns per SSH auf dem Webserver ein und aktivieren HTTP/2 in Plesk über den folgenden Befehl:

Sollte aus irgend einem Grund HTTP/2 deaktiviert werden müssen, ist der entsprechende Befehl an der Stelle:

Nun testen wir mit der folgenden URL, ob alles geklappt hat: https://tools.keycdn.com/http2-test – es sollte alles im grünen Bereich sein:

plesk http2 testen

Wenn alles läuft, geht es im nächsten Schritt an ein paar Optimierungen in Plesk:

Plesk: GZip Kompression für NGinx aktivieren

Wir bleiben auf der Kommandozeile und aktivieren über die folgenden Eingaben GZip-Kompression global für alle Domains auf dem Webserver:

In die leere Datei fügen wir den folgenden Inhalt ein:

Danach testen wir die NGinx Konfiguration:

Wenn alls OK ist, starten wir NGinx neu:

Auch hier gibt es ein Online Tool, mit dem wir die GZip-Kompression testen können: https://www.giftofspeed.com/gzip-test

plesk gzip kompression testen

Nginx ERROR 504 Gateway Timeout

Um diesen Fehler bei längeren Skript-Operationen zu vermeiden, erzeugen wir noch die folgende Datei

und fügen diesen Inhalt ein:

Somit wartet NGinx 600 Sekunden lang auf Rückmeldung von Apache.

Wie gehabt testen wir wieder die Syntax mit

und starten den Dienst neu mit

Nginx: Domain-spezifische Optimierungen in Plesk

Die letzte Optimierung machen wir innerhalb der Domain-Settings von Plesk:

plesk nginx domain settings

In das Feld “Additional nginx settings” fügen wir den folgenden Inhalt ein und bestätigen mit OK:

Die NGinx-Optimierungen haben folgenden Effekt:

  • Client-Verbindungen haben 30 Sekunden Zeit, bevor NGinx auflegt. Das beseitigt den Overhead ständig neue Connections zu öffnen.
  • Grafik-Resourcen werden 1 Jahr lang browser-seitig gecached. Das minimiert die Menge an Downloads.
  • PHP-Skripte, die im FastCGI-Mode laufen, erhalten zusätzlichen Speicher.

Natürlich gibt es noch viel mehr Möglichkeiten zur NGinx-Optimierung, abhängig von Einsatzzweck und Server-Umgebung. Eine komplette Liste der NGinx Directives gibt es hier.

Viel Spass beim Ausprobieren! .-)

Hat Dir der Beitrag gefallen?

Wenn Du Fragen oder Anmerkungen zu diesem Beitrag hast, dann starte einen Kommentar. DANKE für Dein Feedback!