Nginx verbessert die Zugriffsgeschwindigkeit basierend auf der GZIP-Komprimierung

Nginx verbessert die Zugriffsgeschwindigkeit basierend auf der GZIP-Komprimierung

1. Warum verwendet Nginx gzip?

1. Die Rolle der Komprimierung:

Nachdem die Seite mit gzip komprimiert wurde,

Die Seitengröße kann auf etwa 1/7 der Originalgröße komprimiert werden.

Die Übertragungsgeschwindigkeit und die Seitenöffnungszeit können erheblich verbessert werden.

Es trägt dazu bei, das Seitenzugriffserlebnis des Benutzers zu verbessern

2. Das Prinzip der GZIP-Komprimierung durch Nginx:

Abfangen von Anfragen über das Modul ngx_http_gzip_module.

Und führen Sie eine GZIP-Komprimierung für die Typen durch, die GZIP benötigen

3. ngx_http_gzip_module ist standardmäßig in Nginx integriert.

Keine Neukompilierung nötig, einfach einschalten

Quellcode: https://github.com/liuhongdi/

2. Beispiel für die Verwendung des gzip-Moduls

gzip an;
 gzip_min_länge 1k;
 gzip_disable "MSIE [1-6]\.";
 gzip_comp_level 5;
 gzip_types Text/CSS-Text/Javascript-Text/XML-Text/einfache Anwendung/JSON-Anwendung/Javascript-Anwendung/X-Javascript-Anwendung/Xml-Anwendung/Xml+RSS;
 gzip_http_version 1.1;

Beschreibung jeder Anweisung:

gzip an;

Aktivieren Sie den gzip-Modus.

Der Standardwert ist „Aus“, was bedeutet, dass die GZIP-Komprimierung nicht aktiviert ist.

Natürlich müssen Sie es auf „Ein“ stellen.

gzip_min_länge 1k;

Legen Sie die Mindestanzahl an Bytes fest, die für komprimierte Seiten zulässig ist. Die Anzahl der Bytes für eine Seite ergibt sich aus der Inhaltslänge im Header.

Bei zu kleinen Dateien ist der Komprimierungseffekt nicht deutlich zu erkennen und die Dateien können sogar größer sein als ohne Komprimierung.

Der Standardwert ist 20, was zu klein ist.

Stellen Sie die Länge grundsätzlich auf mindestens 1k ein.

gzip_deaktivieren

IE6 bietet nur unzureichende Unterstützung für Gzip und ist daher nicht dafür aktiviert.

gzip_comp_level:

gzip-Komprimierungsgrad, 1-9,

Je größer die Zahl, desto höher die Komprimierungsrate, es wird jedoch auch mehr CPU-Zeit benötigt.

Der Standardwert ist 1 und wird normalerweise auf 5 oder 6 eingestellt.

Wenn die CPU-Auslastung hoch ist, ist es auch in Ordnung, den Wert auf 2 oder 3 zu setzen

gzip_http_version:

Legen Sie die minimale HTTP-Version fest, die von der GZIP-Komprimierung unterstützt wird.

Wenn die Version niedriger ist, wird keine GZIP-Komprimierung verwendet.

Der Standardwert ist 1,1.

Im Allgemeinen wird 1.1 verwendet.

gzip_types:

Für welche Seitentypen ist die GZIP-Komprimierung aktiviert? Mehrere Werte werden durch Leerzeichen getrennt.

Das Platzhalterzeichen * kann mit jedem Typ übereinstimmen, verwenden Sie diesen Wert jedoch nicht.

Nur die Komprimierung von JS-/CSS-/HTML-/Textinhalten hat einen signifikanten Effekt.

Das Aktivieren der Komprimierung auf Dateien wie Bilder und Videos, die bereits mit Komprimierungsalgorithmen verarbeitet wurden, hat keine erkennbaren Auswirkungen.

1. Unabhängig davon, ob der Typ „Text/HTML“ angegeben ist, aktiviert dieser Antworttyp immer die Komprimierung.

Dieser Wert muss also nicht geschrieben werden

2. Die diesen Dateitypen entsprechenden MIME-Typen finden Sie in der Datei nginx/conf/mime.types

3. 9 häufig verwendete Werte:

Text/CSS Text/Javascript Text/XML Text/Plain

Anwendung/JSON Anwendung/Javascript Anwendung/X-Javascript

Anwendung/Xml Anwendung/Xml+RSS

3. Weitere im Beispiel nicht verwendete Einstellungen:

gzip_puffer 4 16k;

gzip_vary ein;

gzip_proxied beliebig;

gzip_vary:

Vary-Header-Unterstützung,

Wenn aktiviert, wird "Vary: Accept-Encoding" zum Header hinzugefügt

Dieser Wert ermöglicht es dem Front-End-Cache-Server, GZIP-komprimierte Seiten zwischenzuspeichern.

Verwenden Sie beispielsweise Squid, um von nginx komprimierte Daten zwischenzuspeichern

Wenn Sie Squid oder Varnish vor Nginx verwenden,

Sie können diesen Wert auf „Ein“ setzen.

gzip_proxied

Aktivieren Sie diese Option, wenn Nginx als Front-End-Proxy verwendet wird.

Wenn der Wert beliebig ist, bedeutet dies, dass es egal ist, welche Informationen die Backend-Server-Header zurückgeben,

Komprimierung ist bedingungslos aktiviert

Wenn Sie nginx als Reverse-Proxy verwenden,

Setzen Sie diesen Wert auf einen beliebigen

gzip_buffers:

Legt die für die Komprimierung verwendete Puffergröße fest.

Standardmäßig: 32 4k|16 8k

324k bedeutet, dass die Antwortdaten in 4k-Einheiten mit einer Größe von 32 mal 4k (128k) im Speicher angefordert werden.

Es wird empfohlen, diese Option nicht festzulegen und den Standardwert zu verwenden.

4. Überprüfen Sie den Komprimierungseffekt von gzip

1. Verwenden Sie curl zum Anzeigen

#-I, --head Nur Dokumentinformationen anzeigen Nur Kopfzeileninformationen anzeigen

#-H,--header LINE: Übergeben Sie die benutzerdefinierte Header LINE an den Server (H) Benutzerdefinierte Anforderungsheaderinformationen

[root@localhost curl]# curl -I -H "Accept-Encoding: gzip, deflate" http://www.lhdtest.net
HTTP/1.1 200 OK
Server: openresty
Datum: Montag, 27. April 2020, 07:59:38 GMT
Inhaltstyp: text/html; Zeichensatz=utf-8
Verbindung: Keep-Alive
Variieren: Accept-Encoding
Set-Cookie: SESSID_WEB=0ks2eh03vmv4dhje29ggojl1bs; Pfad=/
Läuft ab: Do, 19. Nov. 1981 08:52:00 GMT
Cache-Steuerung: kein Speichern, kein Cache, muss erneut validiert werden
Pragma: kein Cache
Inhaltskodierung: gzip

Hinweis: Wenn Sie Content_Encoding: gzip sehen, bedeutet dies, dass die Gzip-Komprimierung wirksam geworden ist.

2. Sehen Sie sich den Effekt über den Browser an

Überprüfen Sie anhand der Header-Informationen der Browserantwort, ob gzip wirksam ist:

Siehe Screenshots: Vergleich der Effekte vor und nach der Komprimierung:

Vor der Komprimierung:

Nach der Komprimierung:

Hinweis: Ich verwende die Webkonsole von Firefox. Sie können auch Plugins wie yslow ausprobieren.

5. Überprüfen Sie die Version von nginx:

[root@centos8 soft]# /usr/local/soft/nginx-1.18.0/sbin/nginx -v
Nginx-Version: nginx/1.18.0

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird.

Das könnte Sie auch interessieren:
  • nginx konfiguriert gzip-komprimierte Seite
  • Detaillierte Erläuterung der Aktivierungs- und Konfigurationsanweisungen für das Nginx Gzip-Modul
  • Detaillierte Erläuterung der gzip-Konfigurationsparameter unter nginx
  • Verwenden Sie gzip_http_version in Nginx, um das Problem zu lösen, dass CDN nur http 1.0 unterstützt
  • Einführung in die Gzip-Komprimierungskonfiguration in Nginx
  • Detaillierte Erklärung der GZip-Konfigurationsparameter im Nginx-Server
  • Analyse der Nginx-Serverkonfiguration mithilfe der GZIP-Komprimierung
  • Detaillierte Erklärung zum Aktivieren der Gzip-Komprimierung in der Nginx-Serverkonfiguration
  • Tutorial zum Konfigurieren der GZip-Komprimierung bei Verwendung von Nginx als Reverse-Proxy für Node.js-Sites
  • Nginx aktiviert die GZIP-Komprimierungsmethode für die Übertragung von Webseiten (empfohlen)
  • Beschleunigen Sie die Nginx-Leistung: Aktivieren Sie GZIP und Cache
  • Nginx-Grundlagen - Gzip-Konfigurationshandbuch
  • Beispiel zum Aktivieren der GZIP-Komprimierung in Nginx
  • So aktivieren Sie Komprimierung und GZIP-Komprimierung in Nginx
  • So aktivieren Sie die Gzip-Komprimierung in Nginx, um die Seitenladegeschwindigkeit deutlich zu erhöhen
  • Nginx verwendet den Gzip-Algorithmus zum Komprimieren von Nachrichten
  • Informationen zur Nginx-GZIP-Konfiguration
  • Detaillierte Erläuterung der Gzip-Komprimierungseinstellungen zur Nginx-Leistungsoptimierung (maximale Seitenöffnungsgeschwindigkeit)

<<:  Zusammenfassung zur Verwendung der Reduce()-Methode in JS

>>:  MySQL-Fall bei der Verwendungsbeispielanalyse

Artikel empfehlen

Beispiel für eine Nginx-Cache-Konfiguration

Beim Entwickeln und Debuggen einer Webanwendung s...

Einführung in den Prozess zum Erstellen einer TCP-Verbindung im Linux-System

Inhaltsverzeichnis Schritte zum Erstellen von TCP...

So verwenden Sie Filter zur Implementierung der Überwachung in Zabbix

Als ich kürzlich an Überwachungsgeräten arbeitete...

So verbergen und entfernen Sie Bildlaufleisten in HTML

1. HTML-Tags mit Attributen XML/HTML-CodeInhalt i...

MySQL-Installationsinformationen unter Linux-Server anzeigen

Sehen Sie sich die Installationsinformationen von...

JavaScript, um einen einheitlichen Animationseffekt zu erzielen

In diesem Artikelbeispiel wird der spezifische Co...

Das WeChat-Applet implementiert eine einfache Taschenrechnerfunktion

In diesem Artikel wird der spezifische Code für d...

Detaillierte Erklärung der MySQL-Datengruppierung

Gruppe erstellen Die Gruppierung wird in der GROU...

Zusammenfassung der drei Phasen der Entwicklung eines visuellen Designers

Viele Leute haben dieses Buch gelesen: „Entwickel...

Chinesische Parameterbeschreibung und Verwendungsbeispiele für ffmpeg

1. Wenn ffmpeg Videodateien überträgt, können die...