So implementieren Sie die GZIP-Komprimierung in Nginx, um die Website-Geschwindigkeit zu verbessern

So implementieren Sie die GZIP-Komprimierung in Nginx, um die Website-Geschwindigkeit zu verbessern

Warum GZIP-Komprimierung verwenden?

Durch Aktivieren der GZIP-Komprimierung in Nginx wird die Größe statischer Ressourcen wie JS und CSS auf der Webseite erheblich reduziert. Dadurch wird viel Bandbreite gespart, die Übertragungseffizienz verbessert und den Benutzern ein schnelles Erlebnis geboten.

nginx implementiert gzip

Das Prinzip der Ressourcenkomprimierung in nginx besteht darin, Anforderungen über das standardmäßig integrierte Modul ngx_http_gzip_module abzufangen und GZIP für die Typen auszuführen, die GZIP-komprimiert werden müssen. Es ist sehr einfach zu verwenden und kann direkt durch Festlegen von Optionen aktiviert werden. .

Anforderungsheader und Antwortheader nach dem Wirksamwerden von gzip

Anforderungsheader:
Akzeptierte Kodierung: gzip, deflate, sdch

Antwortheader:
Inhaltskodierung:gzip
Cache-Steuerung:max-age240

GZIP-Verarbeitung

Aus der Perspektive des HTTP-Protokolls deklariert der Anforderungsheader „acceopt-encoding:gzip deflate sdch“ (bezieht sich auf den Komprimierungsalgorithmus, wobei sdch eine von Google selbst geförderte Komprimierungsmethode ist).
Server->Antwort->Inhalt mit gzip komprimieren->An Browser senden->Browser dekodiert gzip->Gzip-komprimierten Inhalt empfangen

Allgemeine Konfigurationsparameter von gzip

  • gzip on|off Gibt an, ob gzip aktiviert werden soll
  • gzip_buffers 4k-Puffer (wie viele Blöcke werden für die Komprimierung im Speicher gepuffert? Wie groß ist jeder Block?)
  • gzip_comp_level [1-9] Empfohlene Komprimierungsstufe 6, je höher die Stufe, desto geringer die Komprimierung, aber desto mehr CPU-Ressourcen werden verschwendet
  • gzip_disable Regulärer Ausdruck, der mit UA übereinstimmt: Welche Art von URI wird nicht mit gzip komprimiert?
  • gzip_min_length 200 Die Mindestlänge, ab der die Komprimierung beginnt. Wenn die Länge geringer ist, wird nginx sie nicht komprimieren.
  • gzip_http_version 1.0|1.1 Komprimierung der HTTP-Protokollversion starten (Standard 1.1)
  • gzip_proxied legt den anfordernden Proxyserver fest und erklärt, wie Inhalte zwischengespeichert werden
  • gzip_types text/plain application/xml Für welche Dateitypen soll die Komprimierung verwendet werden, z. B. txt, xml, html, css
  • gzip_vary off Gibt an, ob das Gzip-Komprimierungsflag übertragen werden soll

nginx-Konfiguration gzip

Statische Seite index.html

<!DOCTYPE html>
<html lang="de">
<Kopf>
  <meta charset="UTF-8">
  <title>Demonstration der Nginx-GZIP-Komprimierung</title>
  <script src="./jquery.js" ></script>
</Kopf>
<Text>
<img src="./nginx_img.jpeg" style="Breite: 100px;Höhe: 100px;" />
<h1>nginx implementiert GZIP-Komprimierung, um die Bandbreitennutzung zu reduzieren und die Website-Geschwindigkeit zu verbessern</h1>
<h1>nginx implementiert GZIP-Komprimierung, um die Bandbreitennutzung zu reduzieren und die Website-Geschwindigkeit zu verbessern</h1>
<h1>nginx implementiert GZIP-Komprimierung, um die Bandbreitennutzung zu reduzieren und die Website-Geschwindigkeit zu verbessern</h1>
<h1>nginx implementiert GZIP-Komprimierung, um die Bandbreitennutzung zu reduzieren und die Website-Geschwindigkeit zu verbessern</h1>
<h1>nginx implementiert GZIP-Komprimierung, um die Bandbreitennutzung zu reduzieren und die Website-Geschwindigkeit zu verbessern</h1>
<h1>nginx implementiert GZIP-Komprimierung, um die Bandbreitennutzung zu reduzieren und die Website-Geschwindigkeit zu verbessern</h1>
</body>
</html>

Nginx-Konfiguration

Server{
    hören Sie 80;
    Servername localhost 192.168.0.96;
    gzip an;
    gzip_puffer 32 4k;
    gzip_comp_level 6;
    gzip_min_länge 200;
    gzip_types Anwendung/Javascript-Anwendung/X-Javascript-Text/Javascript-Text/XML-Text/CSS;
    gzip_vary aus;
    root /Benutzer/lidong/Desktop/wwwroot/test;
    index.php index.html index.htm;
    access_log /Benutzer/lidong/wwwlogs/access.log;
    Fehlerprotokoll /Benutzer/lidong/wwwlogs/error.log;
    Standort ~ [^/]\.php(/|$) {
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $Dokumentstammsatz$fastcgi_script_name;
        fastcgi_params einschließen;
    }
}

So verwenden Sie die Seitenanforderung vor GZIP:

Anfragen mit aktiviertem GZIP:

Beachten

  • Bilder und MP3 müssen im Allgemeinen nicht komprimiert werden, da die Komprimierungsrate relativ gering ist
  • Komprimieren Sie im Allgemeinen Dateien im Text-, CSS-, JS- und XML-Format
  • Kleinere Dateien müssen nicht komprimiert werden und können größer als die Originaldatei sein.
  • Binärdateien müssen nicht komprimiert werden

Zusammenfassen

Oben ist die vom Editor eingeführte Implementierungsmethode der GZIP-Komprimierung in Nginx zur Verbesserung der Website-Geschwindigkeit. Ich hoffe, es wird allen helfen. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und der Editor wird Ihnen rechtzeitig antworten!

Das könnte Sie auch interessieren:
  • Detaillierte Erklärung zum Aktivieren der Gzip-Komprimierung in der Nginx-Serverkonfiguration
  • Nginx aktiviert die GZIP-Komprimierungsmethode für die Übertragung von Webseiten (empfohlen)
  • So aktivieren Sie die Gzip-Komprimierung in Nginx, um die Seitenladegeschwindigkeit deutlich zu erhöhen
  • nginx konfiguriert gzip-komprimierte Seite
  • Analyse der Nginx-Serverkonfiguration mithilfe der GZIP-Komprimierung
  • Tutorial zum Konfigurieren der GZip-Komprimierung bei Verwendung von Nginx als Reverse-Proxy für Node.js-Sites
  • So aktivieren Sie Komprimierung und GZIP-Komprimierung in Nginx
  • Beispiel zum Aktivieren der GZIP-Komprimierung in Nginx
  • Einführung in die Gzip-Komprimierungskonfiguration in Nginx
  • Nginx verwendet den Gzip-Algorithmus zum Komprimieren von Nachrichten

<<:  Detaillierte Installationsschritte für MySQL 8.0.11

>>:  Grafisches Tutorial zur Installation und Konfiguration von MySQL 8.0.12 (Windows 10)

Artikel empfehlen

Aktualisierungen für React Router V6

Inhaltsverzeichnis ReactRouterV6-Änderungen 1. &l...

Optimierung des MySQL Thread_Stack-Verbindungsthreads

MySQL kann nicht nur über das Netzwerk, sondern a...

Mit CSS3 lässt sich ein umdrehbarer Hover-Effekt erzielen

CSS3 implementiert einen umdrehbaren Hover-Effekt...

Zusammenfassung zur Positionierung in CSS

Es gibt vier Arten der Positionierung in CSS, die...

Analyse der gemeinsamen Indexfunktion von MySQL und Anwendungsbeispiele

Dieser Artikel veranschaulicht anhand von Beispie...

Eine kurze Diskussion zu DDL und DML in MySQL

Inhaltsverzeichnis Vorwort 1. DDL 1.1 Datenbankop...

js zum Schreiben des Karusselleffekts

In diesem Artikel wird der spezifische Code von j...

So stellen Sie Tencent Cloud Server von Grund auf bereit

Da dies mein erster Beitrag ist, weisen Sie mich ...

Tutorial zur Verwendung des Multitail-Befehls unter Linux

MultiTail ist eine Software zum gleichzeitigen Üb...

Bootstrap realisiert den Karusselleffekt

In diesem Artikel wird der spezifische Code von B...

Vue implementiert grafischen Überprüfungscode

In diesem Artikelbeispiel wird der spezifische Co...