GNU/Linux >> Tutoriales Linux >  >> Debian

Cómo configurar Nginx con el módulo Google Pagespeed en Debian 11

Google Pagespeed Module es un módulo de código abierto para optimizar sus sitios web en el servidor web Nginx y Apache. El módulo Pagespeed es un módulo de nivel de servidor instalado junto con el servidor web Nginx y Apache.

El módulo Pagespeed mejora el rendimiento y la velocidad de su sitio web al optimizar los archivos estáticos en sus sitios web. El módulo Pagespeed optimiza las imágenes en sus sitios web, minimiza los archivos estáticos como HTML, CSS y JavaScript, y optimiza el almacenamiento en caché de archivos.

En este tutorial, le mostraremos cómo compilar el módulo Nginx Pagespeed en la versión más reciente de Debian 11 Bullseye. Esta guía se puede aplicar a la instalación actual de Nginx porque solo crea el módulo Nginx.

Requisitos

Antes de comenzar, asegúrese de tener los siguientes requisitos.

  • Sistema operativo:Debian 11 Bullseye
  • Privilegios de raíz

Ahora comencemos.

Instalación de dependencias de paquetes

Primero, instalará dependencias de paquetes para compilar el módulo Nginx.

1. Ejecute el comando apt a continuación para actualizar los repositorios actuales en su sistema.

sudo apt update

2. A continuación, instale las dependencias de paquetes básicos para compilar programas usando apt comando a continuación.

sudo apt install curl dpkg-dev build-essential zlib1g-dev git libpcre3 git libpcre3-dev unzip uuid-dev -y

3. Después de eso, instale las dependencias de compilación para compilar el módulo Nginx.

sudo apt build-dep nginx -y

Comprobación de la versión actual de Nginx

Para crear un módulo Nginx Pagespeed personalizado, asegúrese de que su servidor web Nginx actual mantenga la misma versión del código fuente de Nginx que usará para crear el módulo Nginx.

1. Ejecute el siguiente comando para comprobar la versión de Nginx.

nginx -v

Para este ejemplo, la versión actual de Nginx instalada en nuestra máquina es '1.18.0 '. A continuación se muestra el resultado similar que verá.

nginx version: nginx/1.18.0

Opcionalmente, si no tiene el paquete Nginx en su sistema, instálelo desde el repositorio oficial de Debian usando el comando apt a continuación.

sudo apt install nginx -y

2. A continuación, cree una nueva variable de entorno temporal para su versión de Nginx con el siguiente comando.

export NG_VER=1.18.0

Descargar código fuente de Nginx y Pagespeed

En este paso, descargará el código fuente de Nginx y el módulo Pagespeed a su servidor. Este código fuente de Nginx tendrá la misma versión que su paquete Nginx actual.

1. Cree un nuevo directorio de proyecto '/usr/src/nginx ' y entra en él.

mkdir -p /usr/src/nginx; cd /usr/src/nginx

2. Ahora ejecute el siguiente comando para descargar el código fuente de Nginx y extráigalo.

wget http://nginx.org/download/nginx-$NG_VER.tar.gz
tar -xzvf nginx-$NG_VER.tar.gz

3. A continuación, clone el módulo Nginx Pagespeed en el directorio actual y, una vez que se complete el proceso, verá un nuevo directorio 'incubator-pagespeed-ngx'.

git clone https://github.com/apache/incubator-pagespeed-ngx.git

4. Vaya a la 'incubadora-pagespeed-ngx ' y cambie a la rama estable del módulo Nginx Pagespeed.

cd incubator-pagespeed-ngx/
git checkout latest-stable

5. Compruebe el archivo 'PSOL_BINARY_URL ' para obtener el enlace de descarga de la biblioteca de optimización de páginas (PSOL). Esta biblioteca es necesaria para el módulo Nginx Pagespeed.

cat PSOL_BINARY_URL

Verá una salida similar a la siguiente. La variable '$BIT_SIZE_NAME ' es la arquitectura de su servidor.

wget https://dl.google.com/dl/page-speed/psol/1.13.35.2-$BIT_SIZE_NAME.tar.gz

6. Ahora cree una nueva variable de entorno temporal 'BIT_SIZE_NAME' con el valor de la arquitectura de su servidor. El siguiente ejemplo utiliza una arquitectura de servidor 'x64' o de 64 bits.

export BIT_SIZE_NAME=x64

7. Ahora descargue el código fuente de PSOL y extráigalo.

wget https://dl.google.com/dl/page-speed/psol/1.13.35.2-$BIT_SIZE_NAME.tar.gz
tar -xzvf 1.13.35.2-$BIT_SIZE_NAME.tar.gz

Ahora está listo para construir el módulo Nginx Pagespeed.

Compilación del módulo Nginx Pagespeed

En este paso, compilará el módulo Nginx Pagespeed. Al final, obtendrá el módulo Nginx con el formato '.so ' que puede aplicar a su servidor web Nginx actual.

1. Cambie el directorio de trabajo al directorio del proyecto Nginx.

cd /usr/src/nginx/nginx-$NG_VER

2. Ejecute el siguiente comando para configurar la compilación de su módulo Nginx. Este comando también verifica los requisitos de su sistema, asegúrese de que no tenga ningún error.

./configure --with-compat --add-dynamic-module=../incubator-pagespeed-ngx

A continuación se muestra el resultado que debe obtener.

Configuration summary
  + using system PCRE library
  + OpenSSL library is not used
  + using system zlib library

  nginx path prefix: "/usr/local/nginx"
  nginx binary file: "/usr/local/nginx/sbin/nginx"
  nginx modules path: "/usr/local/nginx/modules"
  nginx configuration prefix: "/usr/local/nginx/conf"
  nginx configuration file: "/usr/local/nginx/conf/nginx.conf"
  nginx pid file: "/usr/local/nginx/logs/nginx.pid"
  nginx error log file: "/usr/local/nginx/logs/error.log"
  nginx http access log file: "/usr/local/nginx/logs/access.log"
  nginx http client request body temporary files: "client_body_temp"
  nginx http proxy temporary files: "proxy_temp"
  nginx http fastcgi temporary files: "fastcgi_temp"
  nginx http uwsgi temporary files: "uwsgi_temp"
  nginx http scgi temporary files: "scgi_temp"

3. Luego, compile el módulo Nginx Pagespeed usando el siguiente comando.

make modules

Este comando tomará algún tiempo, dependiendo de las CPU y la memoria de su sistema.

4. Una vez que finaliza el proceso de compilación, su módulo Pagespeed está disponible como 'objs/ngx_pagespeed.so '. Verifique el módulo usando el siguiente comando.

ls objs/ngx_pagespeed.so

Debería obtener el módulo Nginx Pagespeed 'ngx_pagespeed.so ' como se muestra a continuación.

-rwxr-xr-x 1 root root 19M Dec  8 21:44 objs/ngx_pagespeed.so

Agregar el módulo Pagespeed a la instalación actual de Nginx

En este paso, implementará el módulo Nginx Pagespeed en su instalación actual de Nginx. Para hacerlo, copie el módulo de Pagespeed 'ngx_pagespeed.so' en el directorio del módulo Nginx y agregue una nueva configuración para habilitarlo.

1. Copie el módulo 'ngx_pagespeed.so ' al directorio del módulo Nginx predeterminado '/usr/share/nginx/modules '.

cp /usr/src/nginx/nginx-$NG_VER/objs/ngx_pagespeed.so /usr/share/nginx/modules

2. Cree un nuevo archivo de configuración para habilitar el módulo Pagespeedd.

nano /usr/share/nginx/modules-available/ngx-pagespeed.conf

Copie y pegue la siguiente configuración.

load_module modules/ngx_pagespeed.so;

Guarde la configuración y salga.

3. Active el módulo Pagespeed creando una configuración de enlace simbólico 'ngx-pagespeed.conf ' al directorio '/etc/nginx/modules-enabled/ '.

ln -s /usr/share/nginx/modules-available/ngx-pagespeed.conf /etc/nginx/modules-enabled/70-ngx-pagespeed.conf

4. A continuación, cree una nueva configuración 'pagespeed.conf' en '/etc/nginx ' directorio.

nano /etc/nginx/pagespeed.conf

Copie y pegue la siguiente configuración.

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$" { }

Guarde la configuración y salga.

5. A continuación, cree un nuevo directorio para almacenar la memoria caché Nginx Pagespeed y asegúrese de que Nginx 'www-data pueda escribir en el directorio. ' usuario.

mkdir -p /var/ngx_pagespeed_cache
chown www-data:www-data /var/ngx_pagespeed_cache

Ahora el módulo Nginx Pagespeed se agrega a su instalación actual de Nginx. Vaya al siguiente paso para habilitarlo en sus hosts virtuales (bloques de servidor).

Agregar el módulo Nginx Pagespeed en su host virtual

Para habilitar el módulo Pagespeed en su host virtual, agregue la configuración 'pagespeed.conf' a su archivo de configuración de host virtual usando la opción 'incluir'.

1. Para este ejemplo, agregue habilitar el módulo Pagespeed al host virtual 'predeterminado '. Edite la configuración '/etc/nginx/sites-disponible/default' utilizando el editor nano.

nano /etc/nginx/sites-available/default

Agregue la configuración 'include /etc/nginx/pagespeed.conf;' dentro de la sección 'servidor {...}' como se muestra a continuación.

server {

  .....
  ....

  include /etc/nginx/pagespeed.conf;
}

guarde la configuración y salga.

2. Verifique su configuración de Nginx y asegúrese de que no reciba ningún error. Después de eso, reinicie el servicio Nginx para aplicar una nueva configuración.

nginx -t
sudo systemctl restart nginx

Verificación del módulo Nginx Pagespeed

Para verificar la instalación e implementación del módulo Nginx Pagespeed, puede usar el comando curl para obtener los encabezados HTTP de su servidor web Nginx o usar el elemento Inspeccionar en su navegador web.

1. Ejecute el siguiente comando curl para obtener los encabezados HTTP de su servidor web Nginx.

curl -I https://domain.com/

Ahora debería obtener la salida como se muestra a continuación. La sección de encabezado adicional 'X-Page-Speed ' significa que el módulo Nginx Pagespeed está habilitado.

HTTP/1.1 200 OK
Server: nginx/1.18.0
Content-Type: text/html
Connection: keep-alive
Date: Wed, 01 Dec 2021 22:02:52 GMT
X-Page-Speed: 1.13.35.2-0
Cache-Control: max-age=0, no-cache

2. Para verificar desde su navegador web, visite su nombre de dominio y haga clic derecho en la página, luego seleccione 'Inspeccionar ' menú.

Vuelva a cargar su página web y verá encabezados HTTP detallados como se muestra a continuación.

Conclusión

¡Felicidades! Ha aprendido a compilar el módulo Nginx Pagespeed e implementarlo en la instalación actual de Nginx. Solo necesita incluir la configuración 'pagespeed.conf' en la configuración de su host virtual.


Debian
  1. Cómo instalar Nginx con Google PageSpeed ​​en Ubuntu 20.04

  2. Cómo compilar nginx con el módulo Google PageSpeed ​​en Debian 8 (Jessie)

  3. Cómo instalar Ghost en Debian con Nginx

  4. Cómo instalar DokuWiki en Debian Wheezy con Nginx

  5. Cómo configurar Nginx con soporte HTTP/2 en Debian 9

Cómo instalar Nginx Google Pagespeed en Debian 11 Bullseye

Cómo instalar phpMyAdmin con Nginx en Debian 11

Cómo instalar el módulo Nginx PageSpeed ​​en Debian 11

Cómo instalar Nginx con PHP-FPM en Debian 11

Cómo instalar Nginx con el módulo Google PageSpeed ​​en Ubuntu 20.04 LTS

Cómo configurar un cortafuegos con UFW en Debian 11