Cómo implementar el modulo PageSpeed en Nginx

4 minutos de lectura

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

Tabla de contenidos

Qué es ngx_PageSpeed

ngx_pagespeed es un módulo de código abierto para el servidor web Nginx que optimiza automáticamente las páginas web para mejorar el rendimiento al tiempo que sirve las páginas web utilizando el servidor HTTP.

Tiene varios filtros que optimizan automáticamente archivos como HTML, CSS, JavaScript, JPEG, PNG y otros recursos.
ngx_pagespeed está desarrollado en las bibliotecas de optimización de PageSpeed, implementadas en más de 100 mil sitios web y proporcionadas por los proveedores de hospedaje y CDN más populares, como GoDaddy, EdgeCast, DreamHost y pocas para nombrar.

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

  • Optimización, compresión y cambio de tamaño de la imagen.
  • Concatenación de CSS y JavaScript, minificación y alineación.
  • Extensión de caché, división de dominios y reescritura.
  • Carga diferida de JS y recursos de imagen.
  • y muchos otros…

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

Instalación ngx_PageSpeed:

Dependencias:

Estas son las dependencias básicas necesarias para el correcto funcionamiento del modulo:

Ubuntu/Debian:

sudo apt-get install build-essential zlib1g-dev libpcre3 libpcre3-dev unzip uuid-dev

RedHat, CentOS o Fedora

sudo yum install gcc-c ++ pcre-devel zlib-devel make unzip libuuid-devel

Instrucciones de compilación:

Descarga NGX_PageSpeed:

Ejecuta cada una de las lineas desde el terminal de tu equipo con Nginx.

#[Selecciona la versión que desees en el release notes]
NPS_VERSION=1.13.35.1-beta
cd
wget https://github.com/apache/incubator-pagespeed-ngx/archive/v${NPS_VERSION}.zip
unzip v${NPS_VERSION}.zip
nps_dir=$(find . -name "*pagespeed-ngx-${NPS_VERSION}" -type d)
cd "$nps_dir"
NPS_RELEASE_NUMBER=${NPS_VERSION/beta/}
NPS_RELEASE_NUMBER=${NPS_VERSION/stable/}
psol_url=https://dl.google.com/dl/page-speed/psol/${NPS_RELEASE_NUMBER}.tar.gz
[ -e scripts/format_binary_url.sh ] && psol_url=$(scripts/format_binary_url.sh PSOL_BINARY_URL)
wget ${psol_url}
tar -xzvf $(basename ${psol_url})

Descarga del paquete Nginx y compilado con modulo PageSpeed:

Ejecuta el comando “nginx -v” para obtener la versión instalada del servicio nginx. Si ejecutas este otro comando “nginx -V” visualizaras el listado completo de módulos cargados en nginx. Recomiendo que cargues todos los modulos entre el comando ./configure y el modulo de pagespeed a cargar.

NGINX_VERSION=[Elige una versión en la página de nginx]
cd
wget http://nginx.org/download/nginx-${NGINX_VERSION}.tar.gz
tar -xvzf nginx-${NGINX_VERSION}.tar.gz
cd nginx-${NGINX_VERSION}/
./configure --add-module=$HOME/$nps_dir ${PS_NGX_EXTRA_FLAGS}
make
sudo make install

La otra opción para cargar el modulo es ejecutar ./configure seguido de la salida del comando “nginx -V” y por ultimo añadir el modulo de pagespeed “–add-module=$HOME/$nps_dir ${PS_NGX_EXTRA_FLAGS}”. Ejemplo:

./configure --prefix=/usr/share --sbin-path=/usr/sbin/nginx --conf-path=/etc/nginx/nginx.conf --modules-path=/usr/share/nginx/modules --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --lock-path=/var/lock/nginx.lock --pid-path=/var/run/nginx.pid --http-client-body-temp-path=/var/lib/nginx/body --http-fastcgi-temp-path=/var/lib/nginx/fastcgi --http-proxy-temp-path=/var/lib/nginx/proxy --http-scgi-temp-path=/var/lib/nginx/scgi --http-uwsgi-temp-path=/var/lib/nginx/uwsgi --user=nginx --group=nginx --with-file-aio --with-http_v2_module --with-http_ssl_module --with-http_realip_module --with-http_sub_module --with-http_dav_module --with-http_gzip_static_module --with-http_stub_status_module --with-openssl=/usr/src/openssl-1.0.2n --add-module=$HOME/$nps_dir ${PS_NGX_EXTRA_FLAGS}

De esta forma evitaras bastantes errores durante el recompilado de nginx.

Finalmente ejecuta el comando “nginx -V” para verificar que se ha cargado el modulo correctamente.

 

 

Reiniciar servicio Nginx

Reinicia el servicio para verificar que todo carga y funciona correctamente

Comando:

/etc/init.d/nginx restart

Salida:

[ ok ] Restarting nginx (via systemctl): nginx.service.

Habilitar Mod_PageSpeed en sitio web

Accederemos al fichero de configuración del virtual host y agregue el siguiente comando:

Comando:

pagespeed on;

Después, tan solo deberás configurar las reglas que desees, puedes aprender más sobre ellas en la pagina oficial de pagespeed

Recuerda reiniciar el servidor web nginx después de aplicar cada configuración.

 

5/5 - (1 voto)
Diego García Cuesta: Técnico superior en administración de sistemas informáticos y redes. Autodidacta, amante de la tecnología y el deporte. En mis tiempos libres investigo sobre los últimos avances tecnológicos.
Related Post