Nginx (motor-x) es un servidor HTTP de código abierto y alto rendimiento, proxy inverso y servidor proxy IMAP/POP3. Las características sobresalientes de Nginx son la estabilidad, un amplio conjunto de funciones, una configuración simple y un bajo consumo de memoria. Este tutorial muestra cómo compilar un paquete Nginx .deb para Ubuntu 16.04 a partir de una fuente que tiene compilado el módulo Google PageSpeed.
Velocidad de página es un módulo de servidor web desarrollado por Google para acelerar el tiempo de respuesta del sitio web, optimizar el HTML devuelto y reducir el tiempo de carga de la página. Las características de ngx_pagespeed incluyen:
- Optimización de imágenes:eliminación de metadatos, cambio de tamaño dinámico, recompresión.
- Minimización, concatenación, inserción y esquematización de CSS y JavaScript.
- Inserción de recursos pequeños.
- Aplazamiento de la carga de imágenes y JavaScript.
- Reescritura de HTML.
- Extensión de la vida útil de la memoria caché.
ver más https://developers.google.com/speed/pagespeed/module/.
Requisitos
- Servidor Ubuntu 16.04 - 64 bits
- privilegios de raíz
Lo que haremos en este tutorial:
- Instalar los paquetes de requisitos previos.
- Instalando nginx con ngx_pagespeed.
- Pruebas.
Instalar las dependencias de compilación
sudo apt-get install dpkg-dev build-essential zlib1g-dev libpcre3 libpcre3-dev unzip
Instalando nginx con ngx_pagespeed
Paso 1:agregar el repositorio nginx
Cree un nuevo archivo de repositorio /etc/apt/sources.list.d/nginx.list con vim.
vim /etc/apt/sources.list.d/nginx.list
Allí agregas las líneas:
deb http://nginx.org/packages/ubuntu/ xenial nginx deb-src http://nginx.org/packages/ubuntu/ xenial nginx
Guarde el archivo y salga del editor.
Agregue la clave y actualice el repositorio:
sudo sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys ABF5BD827BD9BF62
sudo apt-get update
Paso 2:descarga nginx 1.10 del repositorio de ubuntu
Cree un nuevo directorio para los archivos fuente de nginx y descargue las fuentes de nginx con apt:
cd ~
mkdir -p ~/new/nginx_source/
cd ~/new/nginx_source/
apt-get source nginx
A veces, hay un error: 'los paquetes no se pueden autenticar'.
Puede resolverlo escribiendo el siguiente comando:
rm -rf /var/lib/apt/lists/
apt-get update
A continuación, instale todas las dependencias para compilar el paquete nginx.
apt-get build-dep nginx
Paso 3:descarga Pagespeed
Cree un nuevo directorio para PageSpeed y descargue la fuente de PageSpeed.
En este tutorial, usaremos la velocidad de página 1.11.33.
mkdir -p ~/new/ngx_pagespeed/
cd ~/new/ngx_pagespeed/
ngx_version= 1.11.33.3
wget https://github.com/pagespeed/ngx_pagespeed/archive/release-${ngx_version}-beta.zip
unzip release-${ngx_version}-beta.zip
cd ngx_pagespeed-release-${ngx_version}-beta/
wget https://dl.google.com/dl/page-speed/psol/${ngx_version}.tar.gz
tar -xzvf ${ngx_version}.tar.gz
Paso 4:configurar nginx para compilar con Pagespeed
Vaya al directorio 'nginx_source' y edite el archivo 'reglas' con vim.
cd ~/new/nginx_source/nginx-1.10.1/debian/
vim rules
Agregue la nueva línea debajo de 'COMMON_CONFIGURE_ARGS':
--add-module=../../ngx_pagespeed/ngx_pagespeed-release-1.11.33.3-beta \
Guardar y salir.
Paso 5:cree el paquete nginx Ubuntu e instálelo
Vaya al directorio de origen de nginx y compile nginx desde el origen con el comando dpkg-buildpackage:
cd ~/new/nginx_source/nginx-1.10.1/
dpkg-buildpackage -b
El paquete nginx Ubuntu se guardará en ~/new/ngix_source/. Una vez que se complete la creación del paquete, busque en el directorio:
cd ~/new/ngix_source/
ls
E instale nginx y módulos deb con el comando dpkg.
dpkg -i *.deb
Prueba
Paso 1:prueba con el comando Nginx
Ejecute nginx -V para verificar que el módulo ngx_pagespeed se haya integrado en nginx.
nginx -V
Paso 2:prueba con el comando Curl
Vaya al directorio de configuración de nginx.
cd /etc/nginx/conf.d/
y edite el archivo de configuración de host virtual predeterminado.
vim default.conf
Pegue la configuración a continuación para habilitar ngx_pagespeed.
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$" { }
Guardar y salir.
A continuación, pruebe el archivo de configuración de nginx y asegúrese de que no haya ningún error:
nginx -t
Reiniciar nginx:
systemctl restart nginx
Finalmente, acceda al servidor web nginx con el comando curl:
curl -I 192.168.1.6
Conclusión
El servidor web nginx es un servidor http de código abierto estable y rápido que admite una variedad de módulos para la optimización de la entrega de contenido. Uno de estos módulos es el 'módulo PageSpeed' desarrollado por Google. A diferencia de apache, los módulos nginx no se pueden cargar dinámicamente, por lo que debe seleccionar los módulos deseados cuando crea el paquete nginx.