So konfigurieren Sie die GZip-Komprimierung, wenn eine Node.js-Site Nginx als Reverse-Proxy verwendet

PHPz
Freigeben: 2023-05-25 19:13:04
nach vorne
1263 Leute haben es durchsucht

Node.js entwickelte Site, wenn Sie auch Nginx verwenden, um den Reverse-Proxy zu implementieren.

Dann können Sie die GZIP-Komprimierung einfach auf der Serverseite implementieren, um das Surfen auf der Site reibungsloser zu gestalten.

Voraussetzung: node.js + Nginx-Reverse-Proxy .

node.js Zu erledigende Arbeiten:

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());
Nach dem Login kopieren

Um alle Anforderungen zu komprimieren, wird compress oben platziert.

Express 4.0 oder höher (einschließlich 4.0)

var compress = require('compression');
app.use(compress());
Nach dem Login kopieren

4.0 oder höher Die Middleware wird unabhängig herausgenommen.

Sie müssen also zuerst rquire('Komprimierung')

Klicken Sie hier, um die Hauptunterschiede zwischen Express 3.5 und Express 4.0 anzuzeigen

So einfach ist die Arbeit, die node.js erledigen muss.

nginx muss erledigt werden Arbeit:

Öffnen Sie die Nginx-Konfigurationsdatei, ändern Sie die Konfiguration und schalten Sie den gzip-Schalter ein

nano /usr/local/nginx/conf/nginx.conf
Nach dem Login kopieren

Nginx auf Ihrem eigenen Server ist möglicherweise nicht im Verzeichnis /usr/local/ installiert, also suchen Sie nach die Konfigurationsdatei nginx.conf in Ihrem eigenen 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 (
    //放上面配置节点  
)
Nach dem Login kopieren

Was bedeuten die einzelnen Konfigurationselemente?

1) gzip

Syntax: gzip ein/aus

Standardwert : off

Bereich: http, Server, Standort

Beschreibung: Aktivieren oder deaktivieren Sie das GZIP-Modul. Die Verwendung von „on“ bedeutet hier „Starten“

2) gzip_min_length

Syntax: gzip_min_length length

Standardwert: gzip_min_length 0

Bereich: http , Server, Standort

Beschreibung: Berechtigung festlegen Die Mindestanzahl der Bytes der komprimierten Seite. 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
Nach dem Login kopieren

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"
Nach dem Login kopieren
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
Nach dem Login kopieren
$ curl -i -h "accept-encoding: gzip, deflate" "http://localhost/style.css"
Nach dem Login kopieren
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
Nach dem Login kopieren

Man kann es sehen. Das zweite Beispiel ist nicht komprimiert.

Das obige ist der detaillierte Inhalt vonSo konfigurieren Sie die GZip-Komprimierung, wenn eine Node.js-Site Nginx als Reverse-Proxy verwendet. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:yisu.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!