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.

Das könnte dich auch interessieren …