Erfahren Sie, wie Sie Websites mit dem Nginx- und GZIP -Modul beschleunigen können

Erfahren Sie, wie Sie Websites mit dem Nginx- und GZIP -Modul beschleunigen können

Selbst in einer Zeit, in der weltweit erhebliche Internetgeschwindigkeiten verfügbar sind.

In diesem Artikel werden wir eine Methode erörtern, um die Übertragungsgeschwindigkeiten zu erhöhen, indem die Dateigrößen durch Komprimierung reduziert werden. Dieser Ansatz bringt einen zusätzlichen Vorteil, als er auch die Menge an Bandbreite reduziert und für den Website -Eigentümer, der dafür bezahlt, billiger macht.

Um das im obige Absatz angegebene Ziel zu erreichen, werden wir verwenden Nginx und sein eingebaut gzip Modul in diesem Artikel. Wie die offizielle Dokumentation sagt, ist dieses Modul ein Filter, der Antworten mithilfe der bekannten GZIP-Komprimierungsmethode komprimiert. Dies stellt sicher, dass die Größe der übertragenen Daten um die Hälfte oder noch mehr komprimiert wird.

Vorgeschlagene Lesen: Die ultimative Leitfaden, um die Leistung von Nginx -Websites zu sichern, zu härten und zu steigern

Wenn Sie den Ende dieses Beitrags erreichen, haben Sie einen weiteren Grund zur Verwendung Nginx Um Ihre Websites und Anwendungen zu bedienen.

Installieren von NGINX -Webserver

Nginx ist für alle großen modernen Verteilungen verfügbar. Obwohl wir a verwenden werden Centos 7 virtuelle Maschine (IP 192.168.0.29) für diesen Artikel.

Die unten angegebenen Anweisungen funktionieren auch mit kleinen (wenn überhaupt) Änderungen in anderen Verteilungen. Es wird angenommen, dass Ihre VM ist eine frische Installation; Andernfalls müssen Sie sicherstellen, dass es keine anderen Webserver gibt (wie z Apache) auf Ihrer Maschine laufen.

Installieren Nginx Verwenden Sie zusammen mit den erforderlichen Abhängigkeiten den folgenden Befehl:

----------- Auf CentOS/RHEL 7 und Fedora 22-24 ----------- # yum update && yum install nginx ----------- Auf Debian und Ubuntu Distributionen ----------- # APT Update && APT Installieren Sie Nginx 

Um zu überprüfen, ob die Installation erfolgreich abgeschlossen ist und das Nginx kann Dateien servieren, den Webserver starten:

# Systemctl start nginx # systemctl aktivieren nginx 

und dann einen Webbrowser öffnen und zu gehen zu http: // 192.168.0.29 (Vergessen Sie nicht zu ersetzen 192.168.0.29 mit der IP -Adresse oder dem Hostnamen Ihres Servers). Sie sollten die Begrüßungsseite sehen:

Nginx Standard Willkommensseite

Wir müssen bedenken, dass einige Dateitypen besser komprimiert werden können als andere. Einfache Textdateien (z Html, CSS, Und JavaScript Dateien) sehr gut komprimieren, während andere (.ISO Dateien, Tarballs, Und Bilder, um nur einige zu nennen) nicht, da sie bereits von der Natur komprimiert werden.

Es ist daher zu erwarten, dass die Kombination von Nginx Und gzip Ermöglicht es uns, die Übertragungsgeschwindigkeiten der ersteren zu erhöhen, während letztere möglicherweise nur wenig oder gar keine Verbesserung aufweisen kann.

Es ist auch wichtig zu berücksichtigen, dass wenn die gzip Modul ist aktiviert, Html Dateien sind STETS komprimiert, aber andere Dateitypen, die üblicherweise in Websites und Anwendungen zu finden sind (nämlich, CSS Und JavaScript) sind nicht.

Testen der Nginx -Website -Geschwindigkeiten ohne GZIP -Modul

Lassen Sie uns zunächst eine komplette herunterladen Bootstrap Vorlage, eine großartige Kombination von Html, CSS, Und JavaScript Dateien.

Nachdem wir die komprimierte Datei heruntergeladen haben, werden wir sie in das Stammverzeichnis unseres Serverblocks entpacken (denken Sie daran, dass dies das ist Nginx Äquivalent der Dokument Root Richtlinie in einer virtuellen Apache -Host -Deklaration):

# CD/var/www/html # wget https: // github.Com/BlackRockdigital/Startbootstrap-creative/Archiv/GH-Seiten.ZIP # UNZIP -A GH -Seiten.ZIP # MV Startbootstrap-Creative-GH-Seiten Tecmint 

Sie sollten die folgende Verzeichnisstruktur im Inneren haben /var/www/html/tecmint:

# ls -l/var/www/html/tecmint 
Nginx documentroot Inhalt

Jetzt geh zu http: // 192.168.0.29/Tecmint und stellen Sie sicher, dass die Seite richtig geladen wird. Die meisten modernen Browser enthalten eine Reihe von Entwicklerwerkzeugen. In Feuerfuchs, Sie können es über die öffnen Tools → Webentwickler Speisekarte.

Wir interessieren uns besonders für die Netzwerk Submenu, mit dem wir alle Netzwerkanfragen zwischen unserem Computer und dem lokalen Netzwerk und dem Internet überwachen können.

Vorgeschlagene Lesen: Installieren Sie mod_pageSpeed, um die Nginx -Leistung bis zu 10x zu beschleunigen

Eine Abkürzung zur Öffnung der Netzwerk Das Menü in den Entwickler -Tools ist Strg + Verschiebung + q. Drücken Sie diese Schlüsselkombination oder öffnen Sie die Menüleiste, um sie zu öffnen.

Da sind wir daran interessiert, die Übertragung von zu prüfen Html, CSS, Und JavaScript Dateien klicken Sie unten auf die Schaltflächen und aktualisieren Sie die Seite. Im Hauptbildschirm sehen Sie das Detail der Übertragung aller Html, CSS, Und JavaScript Dateien:

Überprüfen Sie Nginx verwendet Komprimierung

Rechts von der Größe Spalte (die die einzelnen Dateigrößen anzeigt) werden die einzelnen Übertragungszeiten angezeigt. Sie können auch auf eine bestimmte Datei doppelklicken, um weitere Details in der zu sehen Timings Tab.

Stellen Sie sicher gzip Modul.

Aktivieren und Konfigurieren des GZIP -Moduls in NginX

Um die zu aktivieren und zu konfigurieren gzip Modul, offen /etc/nginx/nginx.Conf, Suchen Sie den Hauptblock des Servers, wie im folgenden Bild gezeigt, und fügen Sie die folgenden Zeilen hinzu oder ändern Sie sie (Vergessen Sie nicht, dass das Semikolon am Ende oder Nginx eine Fehlermeldung zurückgibt, während Sie später neu gestartet werden!)

root/var/www/html; gzip auf; GZIP_TYPES Text/Plain Image/JPEG Image/PNG Text/CSS Text/JavaScript; 
Aktivieren Sie das GZIP -Modul in Nginx

Der gzip Richtlinie dreht sich An oder aus Das GZIP -Modul, während GZIP_TYPES verwendet wird, um alle MIME -Typen aufzulisten, die das Modul verarbeiten sollte.

Mehr darüber lernen MIME Typen und anzeigen die verfügbaren Typen, w Cine to basics_of_http_mime_types.

Testen der Nginx -Website -Geschwindigkeiten mit GZIP -Komprimierungsmodul

Sobald wir die oben genannten Schritte ausgeführt haben, starten wir neu Nginx und laden Sie die Seite neu, indem Sie drücken Strg + F5 (Auch dies funktioniert in Feuerfuchs, Wenn Sie also einen anderen Browser verwenden, wenden Sie sich zuerst an die entsprechende Dokumentation), um den Cache zu überschreiben und die Übertragungszeiten zu beobachten:

# SystemCTL Neustart Nginx 

Die Registerkarte "Netzwerkanforderungen" zeigt einige signifikante Verbesserungen an. Vergleichen Sie die Zeiten, um sich selbst zu überzeugen, und denken Sie daran, dass es die Übertragungen zwischen unserem Computer und der Übertragung sind 192.168.0.29 (Transfers zwischen Google -Servern und CDNs sind über uns hinaus.)

Testen und Überprüfung der Nginx -GZIP -Komprimierung

Betrachten wir beispielsweise die folgenden Beispiele für Dateiübertragung vor / nach der Aktivierung von GZIP. Timings sind in Millisekunden angegeben:

  1. Index.html (vertreten durch /tecmint/ ganz oben auf der Liste): 15/4
  2. Kreativ.Mindest.CSS: 18/8
  3. JQuery.Mindest.JS: 17/7

Hat das dich nicht dazu? Nginx sogar mehr? Für mich geht es für mich!

Vorgeschlagene Lesen: 5 Tipps, um die Leistung Ihres Apache -Webservers zu steigern

Zusammenfassung

In diesem Artikel haben wir gezeigt, dass Sie das Nginx -GZIP -Modul verwenden können, um Dateitransfers zu beschleunigen. In der offiziellen Dokumentation für das GZIP -Modul werden andere Konfigurationsrichtlinien aufgeführt, die Sie sich möglicherweise ansehen möchten.

Darüber hinaus verfügt die Mozilla Developer Network -Website über einen Eintrag über den Netzwerkmonitor, in dem erklärt wird, wie dieses Tool verwendet wird, um zu verstehen, was hinter den Kulissen in einer Netzwerkanforderung vor sich geht.

Verwenden Sie wie immer das folgende Kommentarformular, wenn Sie Fragen zu diesem Artikel haben. Wir freuen uns immer darauf, von Ihnen zu hören!