Cómo habilitar compresión GZIP en Plesk sobre Ubuntu (OVH y GIGAS)

Etiquetas: , ,

Si tenéis un VPS con Gigas y/o OVH y habéis pasado un test de velocidad con GTMETRIX sobre alguna de las webs alojadas en los mismos, puede darse el caso de que GTMETRIX de un error de que no está habilidad la compresión GZIP.

Esto pasa aunque tengamos instalado un plugin de caché bajo WordPress como WP-ROCKET, WP-SUPERCACHE o similar:

Compresión GZIP no activada para la web aunque se use un plugin de caché

Esto es raro, porque el módulo MOD_DEFLATE está activado por defecto en las instalaciones de Linux + Plesk.

Se puede comprobar con el siguiente comando en Ubuntu / Debian:

apache2ctl -t -D DUMP_MODULES

Aparecerá un módulo llamado deflate_module:

También se puede comprobar con el comando:

sudo a2enmod deflate

Qué nos dará un resultado como este:

Considering dependency filter for deflate:
Module filter already enabled
Module deflate already enabled

¿Cómo podemos activar GZIP el el VPS de OVH o GIGAS bajo Ubuntu?

Para habilitarlo hay que editar el archivo nginx.conf de la siguiente forma:

vi /etc/nginx/nginx.conf

Dentro de http buscar las siguientes líneas:

#gzip on;
#gzip_disable "MSIE [1-6].(?!.*SV1)";

Hay que quitar la almohadilla de comentario. Si no os la deja quitar pulsar la tecla insertar.

Justo después hay que pegar lo siguiente:

gzip_comp_level 9;
gzip_http_version 1.1;
gzip_proxied any;
gzip_min_length 10;
gzip_buffers 16 8k;
# Add a vary header for downstream proxies to avoid sending cached gzipped files to IE6
gzip_vary on;
# GZIP Types - NEW
gzip_types text/plain text/css application/x-javascript text/xml application/xml application/xml+rss text/javascript application/xhtml+xml application/javascript application/json application/vnd.ms-fontobject application/x-font-truetype font/eot font/opentype font/otf image/svg+xml image/vnd.microsoft.icon;

Guardar con ESC + :wq + Enter

Esto incluye más tipos de archivo para comprimir. El estándar que se estaba utilizando tradicionalmente es este:

gzip_types text/plain text/css application/x-javascript text/xml application/xml application/xml+rss text/javascript application/xhtml+xml;

Comprobar la sintaxis del archivo de configuración de NGINX con:

nginx -t

Si nos dice que la sintaxis es correcta (nginx: the configuration file /etc/nginx/nginx.conf syntax is ok - nginx: configuration file /etc/nginx/nginx.conf test is successful), volvemos a arrancar NGINX con:

service nginx restart

Si nos da un error, hay que editar el archivo para buscar donde está el fallo. Si no pasa la validación al rearrancar da error y no arranca el servicio.

Y nunca está de más también volver a arrancar APACHE:

sudo /etc/init.d/apache2 restart

Ahora ya tenemos activado GZIP y si volvemos a pasar la prueba de GTMETRIX a la web nos mostrará que ya funciona correctamente:

Compresión GZIP activada para la web y uso de un plugin de caché

Para acabar una comparativa de una misma web en un VPS sin GZIP activado y luego activando GZIP (sin ningún cambio adicional):

Comparativa GTMETRIX web sin compresión GZIP y con compresión GZIP

Salir de la versión móvil