So installierst du Nginx mit Brotli-Kompression unter Ubuntu 20.04
Brotli ist ein Open-Source-Komprimierungsalgorithmus, der von Google entwickelt wurde. Er kann als Alternative zu Gzip, Zopfli und Deflate verwendet werden. Es ist ein allgemeiner verlustfreier Kompressionsalgorithmus, der Daten mit einer Kombination aus einer modernen Variante des LZ77-Algorithmus und der Huffman-Kodierung komprimiert. Er komprimiert Daten 10 bis 20 Prozent mehr als aktuelle Kompressionsalgorithmen.
Diese Anleitung zeigt dir, wie du Brotli mit Nginx auf einem Ubuntu 20.04 Server installierst.
Voraussetzungen
- Ein Server, auf dem Ubuntu 20.04 läuft.
- Ein Root-Passwort wurde auf dem Server konfiguriert.
Erste Schritte
Zunächst solltest du deine Systempakete auf die neueste Version aktualisieren. Du kannst alle Pakete aktualisieren, indem du den folgenden Befehl ausführst:
apt-get update -y
Sobald alle Pakete aktualisiert sind, kannst du weitere Abhängigkeiten installieren, indem du den folgenden Befehl ausführst:
apt-get install dpkg-dev curl gnupg2 build-essential zlib1g-dev libpcre3 libpcre3-dev unzip -y
Sobald alle Abhängigkeiten installiert sind, kannst du mit dem nächsten Schritt fortfahren.
Download von Nginx und Brotli Source
Bevor du den Quellcode von Nginx und Brotli herunterlädst, musst du das Nginx-Repository zu deinem System hinzufügen.
Lade zunächst den Nginx-Schlüssel herunter und füge ihn mit dem folgenden Befehl hinzu:
curl -L https://nginx.org/keys/nginx_signing.key | apt-key add -
Sobald der Schlüssel hinzugefügt ist, fügst du das Nginx-Repository mit dem folgenden Befehl hinzu:
nano /etc/apt/sources.list.d/nginx.list
Füge die folgenden Zeilen hinzu:
deb http://nginx.org/packages/ubuntu/ focal nginx deb-src http://nginx.org/packages/ubuntu/ focal nginx
Speichere und schließe die Datei, wenn du fertig bist, und aktualisiere das Repository mit folgendem Befehl:
apt-get update -y
Sobald das Repository aktualisiert ist, wechselst du in das Verzeichnis /usr/local/src und lädst den Nginx-Quellcode mit dem folgenden Befehl herunter:
cd /usr/local/src apt-get source nginx
Als Nächstes installierst du alle erforderlichen Abhängigkeiten für Nginx mit dem folgenden Befehl:
apt-get build-dep nginx -y
Sobald alle Abhängigkeiten installiert sind, lade die neueste Version des Brotli-Quellcodes mit folgendem Befehl aus dem Git-Repository herunter:
git clone --recursive https://github.com/google/ngx_brotli.git
Als Nächstes wechselst du in das Verzeichnis mit den Nginx-Quellen und bearbeitest die Datei debian rules:
cd /usr/local/src/nginx-*/ nano debian/rules
Jetzt erhältst du zwei Build-Umgebungen für ‚config.env.nginx‘ und ‚config.env.nginx_debug‘. Füge die Option ‚–add-module=‘ für ngx_brotli zu beiden Build-Umgebungen hinzu.
--add-module=/usr/local/src/ngx_brotli
Speichere und schließe die Datei, wenn du fertig bist. Kompiliere und baue nun das nginx-Paket mit ngx_brotli-Unterstützung mit dem folgenden Befehl:
dpkg-buildpackage -b -uc -us
Sobald der Build abgeschlossen ist, erhältst du die nginx-*.deb-Pakete im Verzeichnis „/usr/local/src“, wie unten dargestellt.
ls -l /usr/local/src/*.deb
Du solltest die folgende Ausgabe erhalten:
-rw-r--r-- 1 root root 1124244 Dec 2 06:30 /usr/local/src/nginx_1.18.0-2~focal_amd64.deb -rw-r--r-- 1 root root 10608196 Dec 2 06:30 /usr/local/src/nginx-dbg_1.18.0-2~focal_amd64.deb
Sobald du fertig bist, kannst du mit dem nächsten Schritt fortfahren.
Installiere Nginx und aktiviere die Brotli-Unterstützung
Jetzt hast du Nginx-Pakete mit Brotli-Unterstützung. Du kannst sie mit dem folgenden Befehl installieren:
cd /usr/local/src/ dpkg -i *.deb
Sobald alle Pakete installiert sind, bearbeite die Hauptkonfigurationsdatei von Nginx und aktiviere die Brotli-Unterstützung:
nano /etc/nginx/nginx.conf
Füge die folgenden Zeilen unter http{
brotli on; brotli_comp_level 6; brotli_static on; brotli_types text/plain text/css application/javascript application/x-javascript text/xml application/xml application/xml+rss text/javascript image/x-icon image/vnd.microsoft.icon image/bmp image/svg+xml;
Speichere und schließe die Datei und überprüfe Nginx mit folgendem Befehl auf Syntaxfehler:
nginx -t
Du solltest die folgende Ausgabe erhalten:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
Starte als Nächstes den Nginx-Dienst neu, um die Änderungen zu übernehmen:
systemctl restart nginx
Wenn du damit fertig bist, kannst du mit dem nächsten Schritt fortfahren.
Überprüfe Nginx und Brotli
Jetzt ist Nginx installiert und mit Brotli-Unterstützung konfiguriert. Jetzt ist es an der Zeit zu testen, ob die Brotli-Unterstützung von Nginx aktiviert ist oder nicht.
Um dies zu testen, führe den folgenden Befehl in deinem Terminal aus:
curl -H 'Accept-Encoding: br' -I http://localhost
Wenn alles in Ordnung ist, siehst du das Ergebnis „content-encoding: br“ für die Brotli-Unterstützung wie unten dargestellt:
HTTP/1.1 200 OK Server: nginx/1.18.0 Date: Wed, 02 Dec 2020 06:38:17 GMT Content-Type: text/html Last-Modified: Tue, 21 Apr 2020 14:09:01 GMT Connection: keep-alive ETag: W/"5e9efe7d-264" Content-Encoding: br
Fazit
Herzlichen Glückwunsch! Du hast Nginx mit Brotli-Unterstützung erfolgreich auf dem Ubuntu 20.04 Server installiert. Ich hoffe, du kannst jetzt die Brotli-Komprimierung im Produktionsbetrieb problemlos aktivieren. Wenn du noch Fragen hast, kannst du dich gerne an mich wenden.