Wir zeigen Ihnen, wie Sie Apache mit HTTP/2 einrichten. HTTP/2 ist das erste große HTTP-Protokoll-Update seit 1997. Das Hauptziel von HTTP/2 ist es, die Latenz zu verringern, die Gesamtzahl der TCP-Verbindungen zu reduzieren und somit die Seitenladegeschwindigkeit in Webbrowsern zu verbessern. HTTP/2 ist abwärtskompatibel mit HTTP/1.1, alle Anwendungssemantiken von HTTP sind gleich, außer der Art der Datenübertragung über eine TCP-Verbindung. HTTP/2 nutzt Multiplexing und ermöglicht asynchrone (parallele) Anfragen und bietet Datenkomprimierung von HTTP-Headern. Außerdem ermöglicht die Server-Push-Methode in HTTP/2 dem Server, mehrere Antworten für eine einzelne Anfrage zu senden.
HTTP/2-Unterstützung ist in Ubuntu 16.04 nicht enthalten, weder bei nginx noch bei Apache, da diese Funktion vom Apache-httpd-Upstream-Projekt als experimentell angesehen wird, sodass es nicht möglich ist, sie auf einem Ubuntu 14.04-VPS mit dem Befehl a2enmod zu aktivieren:
a2enmod http2 ERROR: Module http2 does not exist!
Die HTTP/2-Unterstützung sollte in Ubuntu 16.04 aktiviert werden, nachdem der Apache httpd-Upstream diese Unterstützung als nicht experimentell betrachtet.
Glücklicherweise ist das Http2-Modul in der Quelle enthalten, also folgen Sie diesen Schritten, um die HTTP/2-Unterstützung zu aktivieren Apache-Webserver:
1. Quell-URIs hinzufügen
Fügen Sie Quell-URIs zur Datei sources.list hinzu, falls dies noch nicht geschehen ist:
vi /etc/apt/sources.list
fügen Sie am Ende die folgenden Zeilen hinzu:
deb-src http://archive.ubuntu.com/ubuntu/ xenial main universe restricted multiverse deb-src http://security.ubuntu.com/ubuntu xenial-security main universe restricted multiverse deb-src http://archive.ubuntu.com/ubuntu/ xenial-updates main universe restricted multiverse
2. Laden Sie die Paketlisten aus den Repositories herunter
Führen Sie den Befehl „apt-get update“ aus, um die Paketlisten aus den Repositories herunterzuladen und zu aktualisieren, um Informationen zu den neuesten Paketversionen zu erhalten, und aktualisieren Sie dann die Ubuntu 16.04-Betriebssystempakete mit dem Befehl „apt-get upgrade“:
apt-get update apt-get upgrade
3. Voraussetzungen installieren
Installieren Sie die erforderlichen Voraussetzungen:
apt-get install curl devscripts build-essential fakeroot
4. Neuen Benutzer erstellen
Erstellen Sie einen neuen Benutzer oder wechseln Sie zu einem bestehenden Benutzerkonto:
sudo adduser <username> sudo su <username>
Ersetzen Sie
5. Installieren Sie libnghttp2-dev
Installieren Sie das Paket libnghttp2-dev:
[user]$ cd ~ [user]$ sudo apt-get install libnghttp2-dev [user]$ mkdir apache2 [user]$ cd apache2
6. Laden Sie die Apache2-Quellen herunter
Laden Sie die Apache2-Quellen auf Ihren Server herunter und erstellen Sie sie:
[user]$ apt-get source apache2 [user]$ sudo apt-get build-dep apache2 [user]$ cd apache-2.4.18 [user]$ sudo apt-get install curl devscripts build-essential fakeroot [user]$ fakeroot debian/rules binary [user]$ sudo cp debian/apache2-bin/usr/lib/apache2/modules/mod_http2.so /usr/lib/apache2/modules/ [user]$ exit
7. Laden Sie das HTTP/2-Modul.
Laden Sie das HTTP/2-Modul. Erstellen Sie eine Datei /etc/apache2/mods-available/http2.load und fügen Sie die folgenden Zeilen hinzu:
LoadModule http2_module /usr/lib/apache2/modules/mod_http2.so <IfModule http2_module> LogLevel http2:info </IfModule>
8. Aktivieren und konfigurieren Sie das Apache HTTP2-Modul
Aktivieren Sie das http2-Modul:
a2enmod http2
Fügen Sie „Protocols h2 http/1.1“ zu jedem SSL-basierten virtuellen Host hinzu. Bearbeiten Sie beispielsweise die Konfigurationsdatei default-ssl:
vi /etc/apache2/sites-enabled/default-ssl.conf
<IfModule mod_ssl.c> <VirtualHost _default_:443> ServerAdmin webmaster@localhost ServerName your-domain.com Protocols h2 http/1.1 DocumentRoot /var/www/html ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined SSLEngine on SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key <FilesMatch "\.(cgi|shtml|phtml|php)$"> SSLOptions +StdEnvVars </FilesMatch> <Directory /usr/lib/cgi-bin> SSLOptions +StdEnvVars </Directory> </VirtualHost> </IfModule>
Oder fügen Sie „Protocols h2 http/1.1“ zur Apache-Hauptkonfiguration hinzu, um http2 auf allen Websites zu aktivieren:
vi /etc/apache2/apache2.conf
Fügen Sie diese Zeile am Ende hinzu:
Protocols h2 http/1.1
9. Starten Sie den Apache-Webserver neu
Starten Sie Apache neu, damit die Änderungen wirksam werden:
service apache2 restart
Das ist es. Die HTTP/2-Unterstützung wurde auf Ihrem Apache-Webserver aktiviert.
Natürlich müssen Sie Apache nicht mit HTTP/2 auf Ubuntu 16.04 einrichten, wenn Sie einen unserer Hochleistungs-VPS-Hostingdienste verwenden. In diesem Fall können Sie einfach unsere erfahrenen Linux-Administratoren bitten, Apache einzurichten mit HTTP/2-Unterstützung für dich. Sie sind rund um die Uhr erreichbar und kümmern sich umgehend um Ihr Anliegen.
PS. Wenn Ihnen dieser Beitrag über die Einrichtung von Apache mit HTTP/2-Unterstützung auf Ubuntu 16.04 gefallen hat, teilen Sie ihn bitte mit Ihren Freunden in den sozialen Netzwerken über die Schaltflächen unten oder hinterlassen Sie einfach unten eine Antwort. Danke.