Heim >Betrieb und Instandhaltung >Nginx >So verwenden Sie Nginx als Reverse-Proxy zum Konfigurieren der GZip-Komprimierung
Voraussetzungen: node.js + Nginx Reverse Proxy.
node.js Erforderliche Arbeit:
Express 4.0 oder niedriger:
app.use(express.compress()); //主要是这句 app.use(express.json()); app.use(express.urlencoded()); app.use(express.bodyparser()); app.use(express.methodoverride()); app.use(express.cookieparser());
Um alle Anfragen zu komprimieren, wird compress oben platziert.
Express 4.0 oder höher Versionen ( einschließlich 4.0)
var compress = require('compression'); app.use(compress());
4.0 und höhere Versionen entfernen die Middleware unabhängig.
Sie müssen also zuerst rquire('Komprimierung')
Klicken Sie hier, um die Hauptunterschiede zwischen Express 3.5 und Express 4.0 anzuzeigen
node.js erforderlich Die Arbeit, die Sie erledigen, ist so einfach.
nginx Was Sie tun müssen:
Öffnen Sie die Nginx-Konfigurationsdatei, ändern Sie die Konfiguration und schalten Sie den gzip-Schalter ein.
nano /usr/local/nginx/conf/nginx.conf
Das Nginx auf Ihrem eigenen Server ist nicht unbedingt installiert /usr/local/ Verzeichnis, also Suchen Sie die Konfigurationsdatei nginx.conf in Ihrem Installationsverzeichnis
Fügen Sie die folgende Konfiguration zum http-Konfigurationsknoten hinzu:
gzip on; gzip_min_length 1k; gzip_buffers 4 16k; gzip_http_version 1.0; gzip_comp_level 2; gzip_types text/plain application/x-javascript text/css application/xml; gzip_vary on; http ( //放上面配置节点 )
Was bedeuten die einzelnen Konfigurationselemente?
1) gzip
Syntax: gzip ein/aus
Standardwert: aus
Geltungsbereich: http, Server, Standort
Beschreibung: Schalten Sie das gzip-Modul ein oder aus. Die Verwendung von „on“ bedeutet hier „Start“
2) gzip_min_length
Syntax: gzip_min_length Länge
Standard Wert: gzip_min_length 0
Scope:http, server, location
Beschreibung: Legen Sie die Mindestanzahl der Bytes der Seite fest, die komprimiert werden dürfen. Die Anzahl der Bytes der Seite wird aus der Inhaltslänge im Header ermittelt . Der Standardwert ist 0, wodurch die Seite unabhängig von ihrer Größe komprimiert wird. Es wird empfohlen, die Anzahl der Bytes auf mehr als 1 KB festzulegen. Wenn sie weniger als 1 KB beträgt, wird die Komprimierung möglicherweise immer stärker. |
3) gzip_buffers
Syntax: gzip_buffers Zahlengröße
Standardwert: gzip_buffers 4 4k/8k
Geltungsbereich: http, Server, Standort
Beschreibung: Stellen Sie das System so ein, dass es mehrere Cache-Einheiten zum Speichern von gzip erhält. Komprimieren Sie die resultierenden Datenstrom. 4 16k bedeutet, dass Speicher in Einheiten von 16k und das Vierfache der ursprünglichen Datengröße in Einheiten von 16k beantragt wird.
4) gzip_comp_level
Syntax: gzip_comp_level 1..9
Standardwert: gzip_comp_level 1
Geltungsbereich: http, Server, Standort
Beschreibung: gzip-Komprimierungsverhältnis, 1 ist das minimale Komprimierungsverhältnis und die schnellste Verarbeitungsgeschwindigkeit, 9 Komprimierung Ist die größte, aber langsamste Verarbeitung (schnelle Übertragung, verbraucht aber mehr CPU). Hier ist es auf 5 eingestellt. ?? Unabhängig davon, ob der Typ „text/html“ angegeben ist, wird er immer komprimiert. Dies ist auf application/x-javascript text/css application/xml eingestellt.
Es gibt häufig verwendete statische Typen, abhängig von der Situation, die Sie komprimieren müssen:
text/html text/plain text/css application/x-javascript text/javascript application/xml
ok, der Basisserver wurde hier konfiguriert, Nginx muss nur neu geladen werden.
Testen wir es jetzt. So testen Sie mit Curl, ob gzip auf dem Server aktiviert ist (die Testbedingung ist der Standard-gzip_types, d. h. nur text.html wird komprimiert, andere Typen werden nicht komprimiert):
Überprüfen Sie, ob gzip aktiviert ist. Der Client muss beitreten: Header-Informationen „accept-encoding: gzip, deflate“.
$ curl -i -h "accept-encoding: gzip, deflate" "http://localhost/tag.php"
http/1.1 200 ok server: nginx date: thu, 08 mar 2012 07:23:46 gmt content-type: text/html connection: close content-encoding: gzip
$ curl -i -h "accept-encoding: gzip, deflate" "http://localhost/style.css"
http/1.1 200 ok server: nginx date: thu, 08 mar 2012 07:23:54 gmt content-type: text/css connection: close last-modified: tue, 27 dec 2011 10:00:51 gmt etag: "bc612352322d435769c4bdc03ddb2572" content-length: 22834
Man kann es sehen. Das zweite Beispiel ist nicht komprimiert.
Das obige ist der detaillierte Inhalt vonSo verwenden Sie Nginx als Reverse-Proxy zum Konfigurieren der GZip-Komprimierung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!