So aktivieren Sie HTTP/2 in Apache auf Ubuntu

So aktivieren Sie HTTP/2 in Apache auf Ubuntu

Seit Beginn der Weltweites Netz (www), Die Http Protokoll hat sich im Laufe der Jahre entwickelt, um sichere und schnelle digitale Inhalte über das Internet zu liefern.

Die am häufigsten verwendete Version ist Http 1.1 Und während es mit Feature -Verbesserungen und Leistungsoptimierungen für die Mänglichkeit früherer Versionen gepackt wird, fällt es einige andere herausragende Funktionen, die von der angesprochen wurden Http/2.

Was sind die Einschränkungen von HTTP/1.1?

Der Http/1.1 Das Protokoll ist mit den folgenden Mängel behaftet, die es weniger ideal machen, insbesondere wenn sie mit hohen Verkehrsnetzwebservern ausgeführt werden:

  1. Verzögerungen beim Laden von Webseiten aufgrund langer HTTP -Header.
  2. Http/1.1 ist nur in der Lage, eine Anfrage für jede Datei pro TCP -Verbindung zu senden.
  3. Angesichts der Tatsache, dass http/1.1 verarbeitet eine Anfrage für jede TCP -Verbindung, Browser müssen eine Flut paralleler TCP. Dies führt zu TCP -Überlastungen und letztendlich Bandbreitenverschwendung und Netzwerkverschlechterung.

Die oben genannten Probleme führten häufig zu Leistungsverschlechterungen und hohen Gemeinkosten bei der Gebrauchsgebrauch. Http/2 kam ins Bild, um diese Probleme anzugehen, und ist jetzt die Zukunft für HTTP -Protokolle.

Vorteile der Verwendung von HTTP/2

Es bietet folgende Vorteile:

  1. Headerkomprimierung, die Kundenanfragen minimiert und dadurch den Bandbreitenverbrauch senkt. Der resultierende Effekt ist schnelle Seitenlastgeschwindigkeiten.
  2. Multiplexen mehrere Anfragen über eine TCP -Verbindung. Sowohl der Server als auch der Client können eine HTTP -Anforderung in mehrere Frames zerlegen und am anderen Ende neu gruppieren.
  3. Schnellere Webaufführungen, die folglich zu einem besseren SEO -Ranking führen.
  4. Verbesserte Sicherheit, da die meisten Mainstream -Browser HTTP/2 über HTTPS laden.
  5. HTTP/2 gilt dank der Header-Komprimierungsfunktion als mobiler-freundlicher als.

Trotzdem werden wir aktivieren Http/2 An Apache An Ubuntu 20.04 LTS Und Ubuntu 18.04 LTS.

Voraussetzungen:

Stellen Sie vor dem Einstieg sicher, dass Sie aktivieren Https Auf dem Apache -Webserver vor Aktivierung Http/2. Dies liegt daran, dass alle Mainstream -Webbrowser unterstützen Http/2 über Https. Ich habe einen Domain -Namen auf eine Instanz auf Ubuntu 20.04 Dies wird Apache Server ausgeführt, das mit LECS Encrypt -Zertifikat gesichert ist.

Außerdem wird empfohlen, dass Sie haben Apache 2.4.26 und spätere Versionen für Produktionserver, die beabsichtigen, eine Verlagerung zu verändern Http/2.

Um die Version von zu überprüfen Apache Sie leiten und führen den Befehl aus:

$ apache2 -v 
Überprüfen Sie die Apache -Version in Ubuntu

Aus der Ausgabe können Sie sehen, dass wir die neueste Version verwenden, nämlich Apache 2.4.41 Zum Zeitpunkt des Mordes dieses Artikels.

Aktivieren Sie HTTP/2 auf einem virtuellen Apache -Host

Stellen Sie zunächst sicher, dass der Webserver ausgeführt wird Http/1.1. Sie können dies in einem Browser tun, indem Sie den Abschnitt Entwickler -Tools öffnen Google Chrome Verwendung der Strg + Verschiebung + i Kombination. Klick auf das 'Netzwerk"Registerkarte" und suche das "Protokoll' Spalte.

Bestätigen Sie die HTTP -Protokollversion

Als nächstes aktivieren Sie die Http/2 Modul auf Ubuntu Durch Ausführen des folgenden Befehls.

$ sudo a2enmod http2 
Aktivieren Sie HTTP/2 auf Ubuntu

Suchen und bearbeiten Sie als nächstes Ihre SSL Virtuelle Hostdatei, wenn Sie HTTPS mithilfe mithilfe von aktivierten Hostdateien aktiviert haben Lassen Sie uns verschlüsseln, Eine neue Datei wird mit a erstellt le-ssl.Conf Suffix.

$ sudo vim/etc/apache2/sites-fähig/your-domain-name-le-ssl.Conf 

Fügen Sie die Anweisung unten nach dem ein Schild.

Protokolle H2 HTTP/1.1 
Aktivieren Sie HTTP/2 auf Apache

Um die Änderungen zu speichern, starten Sie den Apache -Webserver neu, um neu zu starten.

$ sudo systemctl starten Sie Apache2 neu 

Um zu überprüfen, ob Http/2 ist aktiviert, um die HTTP -Header mit dem folgenden Curl -Befehl als Show abzurufen.

$ curl -i -http2 -s https: // domain.com/ | Grep http 
Überprüfen Sie den HTTP/2 -Support in Apache

Sie sollten die Ausgabe angezeigt lassen.

Http/2 200 

Laden Sie Ihre Website im Browser neu laden. Gehen Sie dann zurück zu den Entwicklerwerkzeugen und bestätigen Sie HTTP/2 H2 Etikett auf dem ''Protokoll' Spalte.

Bestätigen Sie die HTTP/2 -Protokollversion

Wenn Sie das Modul -Modul mit apache verwenden

Wenn Sie rennen Apache neben dem mod_php Modul müssen Sie wechseln PHP-FPM. Das liegt daran, dass die mod_php Das Modul verwendet das Vorkörper Mpm Modul, das nicht unterstützt wird von Http/2. Sie müssen die Präpark deinstallieren Mpm und wechseln Sie zur mpm_event Modul, das unterstützt wird von Http/2.

Wenn Sie die verwenden Php 7.4 mod_php Modul beispielsweise deaktivieren Sie es wie gezeigt:

$ sudo a2dismod php7.4 
Deaktivieren Sie das Modul mod_php

Deaktivieren Sie danach den Vorkörper Mpm Modul.

$ sudo a2dismod mpm_prefork 
Deaktivieren

Nach dem Deaktivieren der Module als nächstes aktivieren Ereignis MPM, Fast_cgi, Und setEnvif Module wie gezeigt.

$ sudo a2enmod mpm_event proxy_fcgi setEnvif 
Aktivieren Sie die Ereignis -MPM in Apache

Installieren Sie PHP-FPM auf Ubuntu

Als nächstes installieren und starten Sie als nächstes PHP-FPM wie gezeigt.

$ sudo apt installieren Sie PHP7.4-fpm $ sudo systemctl starten php7.4-fpm 

Dann aktivieren PHP-FPM Zum Startzeit beginnen.

$ sudo systemctl aktivieren php7.4-fpm 

Als nächstes aktivieren PHP-FPM Als PHP -Handler von Apache und starten Sie den Apache -Webserver neu, damit die Änderungen vorgenommen werden können.

$ sudo a2enconf php7.4-fpm 

Aktivieren Sie die HTTP/2 -Unterstützung in Apache Ubuntu

Aktivieren Sie dann das HTTP/2 -Modul wie zuvor.

$ sudo a2enmod http2 

Starten Sie Apache neu, um alle Änderungen zu synchronisieren.

$ sudo systemctl starten Sie Apache2 neu 

Schließlich können Sie testen, ob Ihr Server die verwendet Http/2 Protokoll unter Verwendung des Curl -Befehls wie gezeigt.

$ curl -i -http2 -s https: // domain.com/ | Grep http 
Überprüfen Sie das HTTP/2 -Protokoll in Apache

Sie können sich auch dafür entscheiden, die Entwickler -Tools auf dem zu verwenden Google Chrome Browser, um zu überprüfen, wie zuvor dokumentiert. Wir haben bis zum Ende dieses Leitfadens, wir hoffen, dass Sie die Informationen wertvoll gefunden haben und die Sie bequem aktivieren können Http/2 An Apache mit Leichtigkeit.