Si desea obtener un poco más de rendimiento de su servidor web NGINX, Jack Wallen le muestra cómo hacerlo con la ayuda de la compresión gzip.

    NGINX es un excelente servidor web de código abierto. Es fácil de poner en marcha, es ligero y está preparado para la velocidad. Sin embargo, como con cualquier software de servidor, siempre hay maneras de obtener el máximo rendimiento posible. A NGINX no le faltan opciones. Una de estas rutas de rendimiento que los administradores tomarán es la de la compresión gzip disponible con NGINX. Con la ayuda de la compresión, el servidor enviará objetos más pequeños a los clientes, por lo que las páginas serán más rápidas de cargar. Uno de los grandes errores de la compresión es apostar toda la granja y comprimir cada objeto disponible para cada página.

    Más información sobre redes

    Desafortunadamente, con esta opción viene un poco de intercambio. La compresión de cada objeto puede requerir importantes recursos de CPU del hardware de su servidor. Esto, a su vez, causará una ralentización en NGINX, haciendo que la configuración sea nula. ¿Cómo evitar esa contraposición derrotista?

    Simple.

    En lugar de comprimir cada objeto, configure NGINX para que comprima sólo archivos grandes y evite la tentación de comprimir archivos más pequeños (como imágenes, ejecutables, etc..

    Voy a mostrarte cómo lograr esto con un par de pasos rápidos. Antes de hacerlo, es posible que desee ejecutar PageSpeed Insights de Google en su página antes y después de esta configuración (para que pueda ver, por sí mismo, las ganancias obtenidas.

    La configuración

    Se sorprenderá de lo simple que es esto. Abra el archivo /etc/nginx/nginx.conf. Lo primero que hay que hacer es buscar la directiva:

    gzip on;

    Coméntalo así:

    #gzip on;

    Ahora agrega el siguiente contenido sobre la línea que acabas de comentar:

    gzip on;gzip_vary on;gzip_min_length 10240;gzip_proxied expired no-cache no-store private auth;gzip_types text/plain text/css text/xml text/javascript application/x-javascript application/xml;gzip_disable "MSIE[1-6]\.";

    He aquí una explicación de la configuración, línea por línea:

    • gzip on; – habilita la compresión gzip
    • gzip_vary on: – le dice a los proxys que guarden en caché tanto las versiones gzip como las versiones regulares de un recurso
    • gzip_min_length 1024; – informa a NGINX que no comprima nada más pequeño que el tamaño definido
    • gzip_proxied – comprime datos incluso para clientes que se conectan a través de proxies (aquí estamos habilitando la compresión si: un encabezado de respuesta incluye los parámetros «expired», «no-cache», «no-store», «private», y «Authorization»)
    • gzip_types – permite los tipos de archivos que pueden ser comprimidos
    • gzip_disable «MSIE[1-6]\.»; – desactivar la compresión para las versiones de Internet Explorer 1-6

    Una vez que haya agregado las opciones, guarde y cierre el archivo nginx.conf y reinicie NGINX con el comando:

    reinicio de sudo service nginx

    NGINX ahora debería estar sirviendo archivos comprimidos que cumplan con sus configuraciones de longitud y tipo mínimas. Vuelve a la página de Google PageSpeed Insights para asegurarte de que estás viendo alguna mejora.

    Ayunar más rápido

    NGINX ya es un servidor web rápido; que se puede obtener aún más rendimiento, habla muy bien de lo que los desarrolladores han logrado. Pruebe esta configuración y observe cómo su servidor web alcanza nuevos niveles de velocidad de servidor de páginas.

    Boletín Semanal de Código Abierto

    No se pierda nuestros consejos, tutoriales y comentarios sobre el sistema operativo Linux y las aplicaciones de código abierto. Entregado los martes