Instale Mod_Pagespeed para acelerar el rendimiento de Apache y Nginx hasta 10 veces


Esta es nuestra serie en curso sobre optimización de Apache y ajuste de rendimiento. Aquí presentamos un nuevo producto de Google llamado módulo mod_pagespeed para Apache o Nginx que hace que el sitio web se cargue mucho más rápido que nunca.

Personalmente he probado este módulo en nuestro servidor Live (tecmint.com) y los resultados son asombrosos, ahora el sitio se carga mucho más rápido que antes. Les recomiendo a todos que lo instalen y vean los resultados.

En este artículo, le mostraremos cómo instalar y configurar el módulo mod_pagespeed de Google para servidores web Apache y Nginx en sistemas RHEL/CentOS/Fedora y Debian/Ubuntu utilizando paquetes binarios oficiales, de modo que su sistema reciba actualizaciones periódicas automáticamente y permanezca A hoy.

¿Qué es Mod_PageSpeed?

mod_pagespeed es un módulo de código abierto para el servidor web Apache y Nginx que optimiza automáticamente las páginas web para mejorar el rendimiento mientras sirve páginas web mediante el servidor HTTP.

Tiene varios filtros que optimizan automáticamente archivos como HTML, CSS, JavaScript, JPEG, PNG y otros recursos.

mod_pagespeed se desarrolla en las bibliotecas de optimización de PageSpeed, implementado en más de 100K sitios web y proporcionado por los proveedores de alojamiento y CDN más populares, como GoDaddy, EdgeCast, DreamHost y algunos por nombrar.

Ofrece más de 40 filtros de optimización, que incluyen:

  1. Optimización, compresión y cambio de tamaño de la imagen
  2. Concatenación, minificación e inserción de CSS y JavaScript
  3. Extensión de caché, fragmentación y reescritura de dominios
  4. Carga diferida de JS y recursos de imágenes
  5. y muchos otros ...

Actualmente, las plataformas Linux compatibles con el módulo mod_pagespeed son RHEL/CentOS/Fedora y Debian/Ubuntu para distribuciones de 32 y 64 bits.

Instalación del módulo Mod_Pagespeed en Linux

Como mencioné anteriormente, estamos utilizando los paquetes binarios oficiales de Google para instalarlo para futuras actualizaciones, así que sigamos adelante e instálelo en sus sistemas según la arquitectura de su sistema operativo.

----------- On 32-bit Systems -----------------
# wget https://dl-ssl.google.com/dl/linux/direct/mod-pagespeed-stable_current_i386.rpm
# yum install at   [# if you don't already have 'at' installed]
# rpm -Uvh mod-pagespeed-stable_current_i386.rpm

----------- On 64-bit Systems -----------------
# wget https://dl-ssl.google.com/dl/linux/direct/mod-pagespeed-stable_current_x86_64.rpm
# yum install at   [# if you don't already have 'at' installed]
# rpm -Uvh mod-pagespeed-stable_current_x86_64.rpm
----------- On 32-bit Systems -----------------
$ wget https://dl-ssl.google.com/dl/linux/direct/mod-pagespeed-stable_current_i386.deb
$ sudo dpkg -i mod-pagespeed-stable_current_i386.deb
$ sudo apt-get -f install

----------- On 64-bit Systems -----------------
$ wget https://dl-ssl.google.com/dl/linux/direct/mod-pagespeed-stable_current_amd64.deb
$ sudo dpkg -i mod-pagespeed-stable_current_amd64.deb
$ sudo apt-get -f install

La instalación de mod_pagespeed desde paquetes binarios agregará un repositorio oficial de Google a su sistema, de modo que pueda actualizar mod_pagespeed automáticamente usando el administrador de paquetes llamado yum o apt.

Qué Mode_Pagespeed está instalado

Veamos qué paquetes mod_pagespeed están instalados en el sistema:

  1. Instalará dos módulos, mod_pagespeed.so para Apache 2.2 y mod_pagespeed_ap24.so para Apache 2.4.
  2. Instalará dos archivos de configuración principales: pagespeed.conf y pagespeed_libraries.conf (para Debian pagespeed.load). Si cambia uno de estos archivos de configuración, ya no recibirá actualizaciones futuras automáticamente.
  3. Un minificador de JavaScript independiente pagespeed_js_minify utilizado para minificar JS y crear metadatos para la canonicalización de la biblioteca.

Acerca de la configuración y los directorios de Mod_Pagespeed

El módulo permite los siguientes archivos de configuración y directorios automáticamente durante la instalación.

  1. /etc/cron.daily/mod-pagespeed: secuencia de comandos cron mod_pagespeed para comprobar e instalar las últimas actualizaciones.
  2. /etc/httpd/conf.d/pagespeed.conf: el archivo de configuración principal para Apache en distribuciones basadas en RPM.
  3. /etc/apache2/mods-enabled/pagespeed.conf: el archivo de configuración principal para Apache2 en distribuciones basadas en DEB.
  4. pagespeed_libraries.conf: el conjunto predeterminado de bibliotecas para Apache, se carga al inicio de Apache.
  5. /usr/lib{lib64}/httpd/modules/mod_pagespeed.so: módulo mod_pagespeed para Apache.
  6. /var/cache/mod_pagespeed: directorio de almacenamiento en caché de archivos para sitios web.

Importante: En Nginx, los archivos de configuración de mod_pagespeed normalmente se encuentran en el directorio/usr/local/nginx/conf /.

Configuración del módulo Mod_Pagespeed

En Apache, mod_pagespeed se enciende automáticamente cuando se instala, mientras que en Nginx debe colocar las siguientes líneas en su archivo nginx.conf y en cada bloque de servidor donde PageSpeed está habilitado:

pagespeed on;

# Needs to exist and be writable by nginx.  Use tmpfs for best performance.
pagespeed FileCachePath /var/ngx_pagespeed_cache;

# Ensure requests for pagespeed optimized resources go to the pagespeed handler
# and no extraneous headers get set.
location ~ "\.pagespeed\.([a-z]\.)?[a-z]{2}\.[^.]{10}\.[^.]+" {
  add_header "" "";
}
location ~ "^/pagespeed_static/" { }
location ~ "^/ngx_pagespeed_beacon$" { }

Finalmente, no olvide reiniciar su servidor Apache o Nginx para que mod_pagespeed funcione correctamente.

Paso 4: Verificación del módulo Mod_Pagespeed

Para verificar el módulo mod_pagespeed, usaremos el comando curl para probar en el dominio o IP como se muestra:

# curl -D- http://192.168.0.15/ | less
HTTP/1.1 200 OK
Date: Fri, 04 Mar 2016 07:37:57 GMT
Server: Apache/2.4.6 (CentOS) PHP/5.4.16
...
X-Mod-Pagespeed: 1.9.32.13-0
---
HTTP/1.1 200 OK
Date: Fri, 04 Mar 2016 07:37:57 GMT
Server: nginx/1.4.0
...
X-Page-Speed: 1.5.27.1-2845
...

Si no ve un encabezado X-Mod-Pagespeed, eso significa que mod_pagespeed no está realmente instalado.

Si no desea utilizar mod_pagespeed por completo, puede Desactivar insertando la siguiente línea en el archivo pagespeed.conf en la parte superior.

ModPagespeed off

De manera similar, para activar el módulo, inserte la siguiente línea en el archivo pagespeed.conf en la parte superior.

ModPagespeed on

Como dije anteriormente, después de instalar mod_pagespeed, nuestro sitio web se carga entre un 40% y un 50% más rápido. Realmente nos gustaría saber acerca de la velocidad de su sitio web después de instalarlo en sus sistemas a través de comentarios.

Para obtener más detalles sobre la configuración, puede consultar la página oficial de mod_pagespeed en https://developers.google.com/speed/pagespeed/module/.