Activar y configurar mod_deflate de Apache en CentOS 7

Mod_deflate es un módulo Apache que permite a nuestro servidor que comprima los archivos de una pagina web antes de que sea enviada al usuario. Al estar comprimida, su tamaño será menor y por tanto la pagina web correrá de forma más fluida.

Es posible comprimir archivos HTML, XML, CSS, texto y JavaScript hasta un 70% de su tamaño original. Por tanto aparte de  acelerar las cargas de la página, ahorraremos trafico.

Al activar Mod_deflate aumentamos un poco la carga del servidor, pero los beneficios que nos aporta son demasiados buenos como para negarte a usarlo. El uso de mod_deflate puede disminuir los tiempos de respuesta hasta en un 50%.

 

Mod_deflate viene incluido y activado en las instalaciones predeterminadas de Apache en CentOS 7.

De todas formas verificamos si esta activado el mod_deflate con alguna de las siguientes formas:

sudo httpd -M | grep deflate

Si esta activado la respuesta será:
deflate_module (shared)

Otra manera es comprobando si por ejemplo la pagina web hace uso de gzip:
curl -H "Accept-Encoding: gzip" -I https://www.sololinux.es

La respuesta correcta sería similar a:
HTTP/1.1 200 OK
Server: nginx
Date: Fri, 17 Mar 2017 09:51:21 GMT
Content-Type: text/html; charset=UTF-8
Connection: keep-alive
Keep-Alive: timeout=60
X-Powered-By: PHP/5.6.30
Cache-Control: max-age=1, private, must-revalidate
Expires: Sun, 16 Apr 2017 09:51:20 GMT
Content-Encoding: gzip

Como ves, si se hace uso de gzip.

 

Configurar mod_deflate

Aunque el módulo mod_deflate se carga por defecto,  la compresión no se habilita hasta que configures el archivo config.

Para configurar mod_deflate, debes crear un archivo config, en: /etc/httpd/conf.d/mod_deflate.conf

sudo nano /etc/httpd/conf.d/mod_deflate.conf

Copia y pega lo siguiente.
<filesMatch "\.(js|html|txt)$">
        SetOutputFilter DEFLATE
</filesMatch>
DeflateCompressionLevel 9
DeflateMemLevel 9
DeflateWindowSize 11

Guarda, cierra y reinicia apache.
sudo apachectl restart

Puedes configurar el mod_deflate a tu conveniencia, esta es la explicación de las reglas:

DeflateCompressionLevel: Especifica el nivel de compresión del archivo. De forma predeterminada, este nivel es 9 . Puedes configurar este nivel entre 1 y 9 .

DeflateMemLevel: Especifica cuánta memoria debe ser utilizada por zlib, gzip, etc… para la compresión. El valor predeterminado es 9 . Puedes configurar este valor entre 1 y 9 .

DeflateWindowSize: Especifica el tamaño de la ventana de compresión de zlib, gzip, etc…. El valor predeterminado es 15 . Puedes configurar este valor entre 1 y 15 . Un número más alto significa mayor nivel de compresión, pero utilizará más recursos del servidor.

 

Agregar comentario