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:
|
<<: Zusammenfassung zur Verwendung der Reduce()-Methode in JS
>>: MySQL-Fall bei der Verwendungsbeispielanalyse
Beim Entwickeln und Debuggen einer Webanwendung s...
1. Aufgetretene Probleme Bei der verteilten Proje...
Inhaltsverzeichnis Schritte zum Erstellen von TCP...
Als ich kürzlich an Überwachungsgeräten arbeitete...
Vorschau auf die überarbeitete Fassung Dieser Art...
1. HTML-Tags mit Attributen XML/HTML-CodeInhalt i...
Sehen Sie sich die Installationsinformationen von...
Bei Ubuntu 20.04 ist die Root-Anmeldung standardm...
In diesem Artikelbeispiel wird der spezifische Co...
In diesem Artikel wird der spezifische Code für d...
Inhaltsverzeichnis Erstellen einer global freigeg...
1. Float + Überlauf: versteckt Diese Methode löst...
Gruppe erstellen Die Gruppierung wird in der GROU...
Viele Leute haben dieses Buch gelesen: „Entwickel...
1. Wenn ffmpeg Videodateien überträgt, können die...