Maison >Opération et maintenance >Nginx >Comment utiliser Nginx pour la compression et la décompression Gzip
Comment utiliser Nginx pour la compression et la décompression gzip
Nginx est un serveur Web hautes performances qui peut également servir de serveur proxy inverse et d'équilibreur de charge. Dans le développement d’applications Web, l’optimisation de la vitesse du site Web est une tâche très importante. L’utilisation de la technologie de compression et de décompression gzip peut réduire efficacement la taille des fichiers transmis et améliorer la vitesse d’accès aux sites Web. Cet article explique comment utiliser Nginx pour la compression et la décompression gzip.
Tout d'abord, nous devons activer la compression gzip dans le fichier de configuration Nginx. Habituellement, le fichier de configuration Nginx se trouve dans /etc/nginx/nginx.conf.
Ouvrez le fichier de configuration et recherchez l'élément de configuration gzip sous le module http, comme indiqué ci-dessous :
http { gzip on; gzip_disable "msie6"; gzip_types text/plain text/css application/javascript; ... }
Dans la configuration ci-dessus, gzip activé signifie activer la fonction de compression gzip. gzip_disable "msie6" signifie désactiver la fonction de compression gzip du navigateur msie6 car il y a un problème avec la prise en charge par le navigateur de la compression gzip. gzip_types spécifie les types de fichiers qui nécessitent une compression gzip.
Ajoutez l'élément de configuration gzip_comp_level sous l'élément de configuration gzip ci-dessus, qui représente le niveau de compression gzip. Le niveau varie de 1 à 9. Plus le nombre est élevé, plus le taux de compression est élevé, mais cela augmentera également le temps de compression.
L'exemple de configuration est le suivant :
http { gzip on; gzip_disable "msie6"; gzip_types text/plain text/css application/javascript; gzip_comp_level 6; ... }
Dans la configuration ci-dessus, gzip_comp_level est défini sur 6, indiquant le niveau de compression gzip.
Ajoutez l'élément de configuration gzip_buffers sous l'élément de configuration gzip ci-dessus pour indiquer la taille du tampon de compression. Par défaut, Nginx alloue automatiquement des tampons de compression en fonction du contenu de la réponse. Toutefois, si vous avez des exigences particulières concernant la taille du tampon de compression, celui-ci peut être configuré.
L'exemple de configuration est le suivant :
http { gzip on; gzip_disable "msie6"; gzip_types text/plain text/css application/javascript; gzip_comp_level 6; gzip_buffers 16 8k; ... }
Dans la configuration ci-dessus, gzip_buffers est défini sur 16 8k, ce qui signifie allouer 16 tampons de compression de 8k.
Ajoutez l'élément de configuration gzip_min_length sous l'élément de configuration gzip ci-dessus pour indiquer la taille minimale du fichier pour la compression gzip. La compression Gzip n'aura lieu que si la taille du fichier dépasse cette valeur.
L'exemple de configuration est le suivant :
http { gzip on; gzip_disable "msie6"; gzip_types text/plain text/css application/javascript; gzip_comp_level 6; gzip_buffers 16 8k; gzip_min_length 256; ... }
Dans la configuration ci-dessus, gzip_min_length est défini sur 256, ce qui signifie que la compression gzip ne sera effectuée que lorsque la taille du fichier dépasse 256 octets.
Après la configuration ci-dessus, Nginx compressera automatiquement par gzip les fichiers appropriés demandés par le client. Lorsque le fichier demandé par le client est compressé par gzip, Nginx ajoutera automatiquement l'en-tête de réponse "Content-Encoding: gzip" et décompressera le contenu de la réponse.
En fait, Nginx peut non seulement gzip et décompresser des fichiers, mais également gzip le contenu de la réponse généré dynamiquement. Pour le contenu de réponse généré dynamiquement, la compression gzip peut être obtenue en définissant l'en-tête d'encodage de page approprié, comme indiqué ci-dessous :
location / { ... gzip_proxied any; ... }
Dans la configuration ci-dessus, gzip_proxied est défini sur any, ce qui signifie que la compression gzip est effectuée sur tous les types de requêtes.
Grâce à la configuration et à l'exemple de code ci-dessus, nous pouvons utiliser de manière flexible les fonctions de compression et de décompression gzip de Nginx pour optimiser la vitesse d'accès au site Web. Dans le même temps, pour le contenu de réponse généré dynamiquement, la compression gzip peut également être obtenue en définissant l'en-tête de codage de la page.
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!