nginx configura la compresión gzip para optimizar la eficiencia de transmisión y acelerar el acceso a la página

introducción

En el rápido desarrollo de la Internet moderna, la velocidad de acceso a los sitios web se ha convertido cada vez más en la clave para la selección y retención de usuarios. Entre ellos, optimizar la eficiencia de la transmisión mediante gziptecnología de compresión puede acelerar significativamente el acceso a la página, mejorar la experiencia del usuario y la calidad del sitio web. Como nginxservidor web de alto rendimiento, su gzipmétodo de configuración que admite la compresión tiene grandes ventajas. Este artículo presentará cómo configurar la compresión nginxy discutirá su papel en la optimización de la eficiencia de la transmisión y la mejora de la velocidad de acceso a la página, así como los problemas que requieren atención en aplicaciones prácticas.gzip

1. ¿Qué es el gzip de nginx?

Nginxes gzipuna función para comprimir el contenido de la respuesta HTTP. Cuando está habilitado , el contenido de la respuesta se comprime para reducir su tamaño gzipantes de enviarlo al cliente . NginxEsto reduce el consumo de ancho de banda y el tiempo de respuesta de la transmisión de datos y mejora el rendimiento y la velocidad del sitio web.

gzipLas funciones de habilitación Nginxse pueden configurar en el archivo de configuración. Al agregar parámetros relevantes en la configuración gzip, puede especificar el tipo de contenido de respuesta que se comprimirá, el nivel de compresión y habilitar o deshabilitar gzipfunciones.

En concreto, gziplas principales funciones de la función incluyen:

  1. Reducir el tamaño del archivo: al comprimir el contenido de la respuesta, puede reducir significativamente el tamaño del archivo y reducir el ancho de banda requerido para la transmisión de datos.
  2. Mejore el rendimiento del sitio web: los archivos comprimidos se pueden transmitir al cliente más rápido, lo que reduce la latencia de la red y el tiempo de transmisión, mejorando así el rendimiento del sitio web y acelerando la carga de la página.
  3. Ahorre recursos del servidor: dado que los archivos comprimidos son más pequeños, el servidor necesita gastar menos CPU y memoria para procesar y transmitir estos archivos, mejorando así el rendimiento del servidor y la utilización de recursos.

Cabe señalar que gzipesta función solo se aplica a archivos de texto y los archivos ya comprimidos (como imágenes, videos, etc.) no se comprimirán gzip. Además, debe asegurarse de que el cliente admita gzipla compresión; de lo contrario, no podrá disfrutar gzipde los beneficios de la función.

2. Elementos de configuración comunes de nginx

La siguiente es una tabla Nginxde gzipelementos de configuración comunes y sus funciones para la función de compresión:

Elementos de configuración efecto Ejemplo
zip Si se debe habilitar la compresión gzip gzip encendido;
tipos_gzip Especifique el tipo MIME para comprimir gzip_types texto/texto html/aplicación simple/javascript;
gzip_min_length Especificar el tamaño mínimo del archivo comprimido gzip_min_length 1000;
gzip_comp_level Especifique el rango de nivel de compresión de 1 a 9; cuanto mayor sea el valor, mayor será el grado de compresión. gzip_comp_level 6;
gzip_buffers Especifique el tamaño del búfer de memoria utilizado para la compresión gzip gzip_buffers 16 8k;
gzip_disable Especifique User-Agent para que no utilice la compresión gzip gzip_disable “MSIE [1-6].(?!.*SV1)”;
gzip_proxied Determine si se debe comprimir la respuesta según el encabezado "Accept-Encoding" en la solicitud del cliente. El valor puede ser "off", "expired", "no-cache", "no-store", "private", "no_last_modified" ", "no_etag", "auth" o "cualquiera" gzip_proxied cualquiera;
gzip_vary Si la respuesta enviada está comprimida con gzip, agregue "Vary: Accept-Encoding" al encabezado de la respuesta para notificar al servidor de caché que el contenido de la respuesta puede existir en forma comprimida o sin comprimir. gzip_vary: activado;
gzip_http_versión Configure la versión del protocolo HTTP para la compresión gzip. gzip_http_versión:1.0

3. Ejemplos de uso

Habilitar la compresión gzip en Nginx puede mejorar significativamente el rendimiento del sitio web, reducir el tamaño de los archivos transferidos y acelerar la carga de la página. Aquí hay un ejemplo detallado:

  1. Abra el archivo de configuración de Nginx (generalmente ubicado en /etc/nginx/nginx.confo /etc/nginx/conf.d/default.conf).
    Insertar descripción de la imagen aquí

  2. Agregue el siguiente código en httpel bloque para habilitar la compresión gzip:

http {
    
    
	gzip on;
	gzip_comp_level 5;
	gzip_min_length 256;
	gzip_proxied any;
	gzip_vary on;
	gzip_types
    	application/atom+xml
    	application/javascript
    	application/json
    	application/ld+json
    	application/manifest+json
    	application/rss+xml
    	application/vnd.geo+json
    	application/vnd.ms-fontobject
    	application/x-font-ttf
    	application/x-web-app-manifest+json
    	application/xhtml+xml
    	application/xml
    	font/opentype
    	image/bmp
    	image/svg+xml
    	image/x-icon
    	text/cache-manifest
    	text/css
    	text/plain
    	text/vcard
    	text/vnd.rim.location.xloc
    	text/vtt
    	text/x-component
    	text/x-cross-domain-policy;
}

Las funciones de cada elemento de configuración en el código anterior son las siguientes:

  • gzip on;Habilite la compresión gzip.
  • gzip_comp_level 5;Establezca el nivel de compresión, el rango de valores es del 1 al 9. Cuanto mayor sea el valor, mayor será la relación de compresión, pero también consumirá más recursos de la CPU.
  • gzip_min_length 256;Establezca el tamaño mínimo del archivo comprimido; los archivos más pequeños que este tamaño no se comprimirán.
  • gzip_proxied any;Determine si se debe comprimir la respuesta según el encabezado "Accept-Encoding" en la solicitud del cliente. El valor puede ser "off", "expired", "no-cache", "no-store", "private", "no_last_modified" ", "no_etag", "auth" o "cualquiera".
  • gzip_vary on;Si la respuesta enviada está comprimida con gzip, agregue "Vary: Accept-Encoding" al encabezado de la respuesta para notificar al servidor de caché que el contenido de la respuesta puede existir en forma comprimida o sin comprimir.
  • gzip_typesConfigure los tipos de archivos que se comprimirán con gzip, en relación con la extensión del archivo.
  1. Busque el bloque del servidor en el archivo de configuración de Nginx, luego busque el host virtual especificado por la directiva server_name y luego agregue la siguiente configuración:

    server {
          
          
        ...
        location / {
          
          
            ...
            gzip_static on;
            ...
        }
        ...
    }
    
    • gzip_static onEsta configuración le dice a Nginx que use archivos precomprimidos (archivos .gz), si están presentes, en lugar de compresión en tiempo real. Esto puede mejorar la eficiencia de la compresión, especialmente para archivos estáticos.
  2. Reinicie el servidor Nginx para que la configuración surta efecto.

nginx -s recargar

4. Utilice el navegador para comprobar si gzip está activo.

1. Determine si el navegador admite gzip.

Insertar descripción de la imagen aquí
Como se muestra en la imagen de arriba, para verificar si el navegador admite la función, puede determinarlo gzipmirando el campo " " en el encabezado de solicitud del navegador .Accept-Encoding

Las solicitudes Networkenviadas por el navegador se pueden encontrar en la pestaña " " de las herramientas de desarrollo del navegador . HTTPen solicitadoEncabezado de solicitud, habrá un campo llamado " Accept-Encoding",Este campo especifica el formato de codificación admitido por el navegador.

Si el navegador admite gzipla compresión, el Accept-Encodingcampo " " contendrá palabras clave como "gzip" o " deflate". Esto significa que el navegador admite gzipla compresión de datos. Si el navegador no la admite, el Accept-Encodingcampo " " no contendrá ninguna palabra clave relacionada.

Alternativamente, puede utilizar herramientas en línea para detectar si su navegador admite gzipla compresión. Algunas herramientas de uso común incluyen https://www.giftofspeed.com/gzip-test/, https://www.whatsmyip.org/http-compression-test/etc. En estas herramientas, ingrese lo que desea probar URLy la herramienta simulará una solicitud del navegador y luego mostrará información sobre la respuesta de la solicitud, incluido si gzipse utiliza compresión.

Es importante tener en cuenta que la mayoría de los navegadores modernos admiten gzipla compresión, ya que mejora la velocidad de carga de las páginas web y ahorra ancho de banda. Por lo tanto, en circunstancias normales, el navegador predeterminado puede admitir gzipesta función.

2. Determinar si gzip es efectivo

Utilice las herramientas de desarrollo del navegador para inspeccionar los encabezados de respuesta. Abra las herramientas de desarrollador en su navegador (generalmente presione F12), cambie a la Networkpestaña Red ( ) y actualice la página. Response headersBusque " Content-Encoding" o " Content-Encoding: gzip" información en el encabezado de respuesta ( ).Si se encuentra esta información de encabezado, significa que gzip ha entrado en vigor.
Insertar descripción de la imagen aquí

Resumir

En este artículo, detallamos cómo nginxconfigurar gzipla compresión para optimizar la eficiencia de la transferencia y acelerar el acceso a la página. Mediante gzipla compresión, podemos reducir significativamente el tamaño de los datos transmitidos, reduciendo así el tiempo de transmisión y el consumo de ancho de banda. Al mismo tiempo, también analizamos cuestiones a las que se debe prestar atención en aplicaciones prácticas, como los niveles de compresión, los tipos de compresión y los tipos de archivos. En general, nginxoptimizando gzipla configuración podemos mejorar el rendimiento y la experiencia de usuario del sitio web, y contribuir a mejorar la calidad y competitividad del sitio web.

Supongo que te gusta

Origin blog.csdn.net/jieyucx/article/details/133123386
Recomendado
Clasificación