Maison Opération et maintenance Nginx Comment utiliser Nginx comme proxy inverse pour configurer la compression GZip

Comment utiliser Nginx comme proxy inverse pour configurer la compression GZip

May 22, 2023 pm 11:43 PM
nginx gzip

Prérequis : node.js + nginx reverse proxy.

node.js Travail à faire :

express 4.0 ou inférieur :

app.use(express.compress()); //主要是这句
app.use(express.json()); 
app.use(express.urlencoded()); 
app.use(express.bodyparser()); 
app.use(express.methodoverride()); 
app.use(express.cookieparser());
Copier après la connexion
#🎜 🎜#Afin de compresser toutes les requêtes, la compression est placée ci-dessus.

express version 4.0 ou supérieure (y compris 4.0)

var compress = require('compression');
app.use(compress());
Copier après la connexion

4.0 ou version supérieure supprime le middleware indépendamment .

Vous devez donc d'abord demander('compression')

Cliquez ici pour voir les principales différences entre express 3.5 et express 4.0

node. js Le travail à effectuer est aussi simple que cela.

nginx Le travail à effectuer :

Ouvrez le fichier de configuration nginx, modifiez la configuration et allumez-le. le commutateur gzip

nano /usr/local/nginx/conf/nginx.conf
Copier après la connexion

nginx sur votre propre serveur n'est peut-être pas installé dans le répertoire /usr/local/, alors recherchez le fichier de configuration nginx.conf

selon le vôtre répertoire d'installation et ajoutez la configuration suivante au nœud de configuration http : #🎜🎜 #
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 (
    //放上面配置节点  
)
Copier après la connexion

Que signifie chaque élément de configuration

1) gzip

Syntaxe : gzip on/off

Valeur par défaut :off

Portée : http, serveur, emplacement

Description : Activez ou désactivez le module gzip, en utilisant Ici signifie démarrage # 🎜🎜 ## 🎜🎜 # 2) gzip_min_length # 🎜🎜 ## 🎜🎜 # syntaxe: gzip_min_length longueur # 🎜🎜 ## 🎜🎜 # valeur par défaut: gzip_min_length 0 # 🎜🎜 ## 🎜🎜 # # scope: http, serveur, emplacement

Description : Définissez le nombre minimum d'octets de la page pouvant être compressés. Le nombre d'octets de la page est obtenu à partir de la longueur du contenu dans l'en-tête. La valeur par défaut est 0, ce qui compresse la page quelle que soit sa taille. Il est recommandé de définir le nombre d'octets sur une valeur supérieure à 1 Ko. S'il est inférieur à 1 Ko, il peut être de plus en plus compressé. |

3) gzip_buffers

Syntaxe : gzip_buffers taille du nombre

Valeur par défaut : gzip_buffers 4 4k/8k

Fonction Domaine : http, serveur, emplacement

Description : Configurez le système pour obtenir plusieurs unités de cache pour stocker le flux de données du résultat de la compression gzip. 4 16 Ko signifie demander de la mémoire en unités de 16 Ko et 4 fois la taille des données d'origine en unités de 16 Ko.

4) gzip_comp_level

Syntaxe : gzip_comp_level 1..9

Valeur par défaut : gzip_comp_level 1

Portée : http , serveur, emplacement

Description : taux de compression gzip, 1 a le taux de compression le plus petit et la vitesse de traitement la plus rapide, 9 a le taux de compression le plus élevé mais le traitement le plus lent (transmission rapide mais consomme plus de CPU). Ici, il est fixé à 5.

5) gzip_types

Syntaxe : gzip_types mime-type [mime-type ...]

Valeur par défaut : gzip_types text/html#🎜 🎜#

Portée : http, serveur, emplacement

Description : Correspond au type MIME pour la compression, (qu'il soit spécifié ou non) le type "text/html" sera toujours compressé. Ceci est défini sur application/x-javascript text/css application/xml.

Il existe des types statiques couramment utilisés, selon la situation dans laquelle vous devez compresser :

text/html
text/plain
text/css
application/x-javascript
text/javascript
application/xml
Copier après la connexion

ok Le serveur de base a été configuré ici, et nginx n'a qu'à être rechargé. .

Testons comment utiliser curl pour vérifier que le serveur a activé gzip (la condition de test est les gzip_types par défaut, c'est-à-dire que seul text.html est compressé, les autres types ne sont pas compressés) : # 🎜🎜##🎜🎜 #Pour vérifier si gzip est activé, le client doit ajouter : les informations d'en-tête "accepter-encodage : gzip, deflate".

$ curl -i -h "accept-encoding: gzip, deflate" "http://localhost/tag.php"
Copier après la connexion
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
Copier après la connexion
$ curl -i -h "accept-encoding: gzip, deflate" "http://localhost/style.css"
Copier après la connexion
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
Copier après la connexion
Tu peux le voir. Le deuxième exemple n'est pas compressé.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Article chaud

Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD
R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Article chaud

Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD
R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Tags d'article chaud

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment autoriser l'accès au réseau externe au serveur Tomcat Comment autoriser l'accès au réseau externe au serveur Tomcat Apr 21, 2024 am 07:22 AM

Comment autoriser l'accès au réseau externe au serveur Tomcat

Quelles sont les commandes de démarrage et d'arrêt de nginx ? Quelles sont les commandes de démarrage et d'arrêt de nginx ? Apr 02, 2024 pm 08:45 PM

Quelles sont les commandes de démarrage et d'arrêt de nginx ?

Comment exécuter thinkphp Comment exécuter thinkphp Apr 09, 2024 pm 05:39 PM

Comment exécuter thinkphp

Quelles sont les différences entre Tomcat et Nginx Quelles sont les différences entre Tomcat et Nginx Dec 27, 2023 pm 05:07 PM

Quelles sont les différences entre Tomcat et Nginx

Bienvenue sur nginx !Comment le résoudre ? Bienvenue sur nginx !Comment le résoudre ? Apr 17, 2024 am 05:12 AM

Bienvenue sur nginx !Comment le résoudre ?

Comment s'inscrire à phpmyadmin Comment s'inscrire à phpmyadmin Apr 07, 2024 pm 02:45 PM

Comment s'inscrire à phpmyadmin

Comment déployer le projet nodejs sur le serveur Comment déployer le projet nodejs sur le serveur Apr 21, 2024 am 04:40 AM

Comment déployer le projet nodejs sur le serveur

Comment résoudre le problème de nginx lors de l'accès au site Web Comment résoudre le problème de nginx lors de l'accès au site Web Apr 02, 2024 pm 08:39 PM

Comment résoudre le problème de nginx lors de l'accès au site Web

See all articles