Heim  >  Artikel  >  Betrieb und Instandhaltung  >  So verwenden Sie Nginx als Reverse-Proxy zum Konfigurieren der GZip-Komprimierung

So verwenden Sie Nginx als Reverse-Proxy zum Konfigurieren der GZip-Komprimierung

WBOY
WBOYnach vorne
2023-05-22 23:43:041073Durchsuche

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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen