Cómo instalar la línea principal de Nginx en Debian 12 o 11

Nginx Mainline es la rama de desarrollo del servidor web Nginx, que ofrece las últimas funciones, actualizaciones y mejoras de rendimiento antes del lanzamiento estable. Es ideal para desarrolladores y administradores que necesitan acceso a las últimas funciones y mejoras. Nginx Mainline es especialmente adecuado para entornos en los que el rendimiento y la flexibilidad de vanguardia son esenciales, como sitios web con mucho tráfico, equilibrio de carga y configuraciones de proxy inverso.

En Debian 12 o 11, existen dos métodos principales para instalar Nginx Mainline a través de la terminal de línea de comandos. La primera opción es usar el servidor de réplica oficial de apt proporcionado por nginx.org, que garantiza que recibirá las últimas actualizaciones directamente del equipo de Nginx. Como alternativa, puede instalar Nginx Mainline utilizando el repositorio de terceros mantenido por Ondřej Surý, conocido por mantener actualizados los paquetes para Nginx y otro software esencial. Esta guía le guiará a través de ambos métodos, lo que le permitirá elegir el que mejor se adapte a sus necesidades.

Método 1: instalar Nginx Mainline a través de Nginx.org

Pasos previos a la instalación de Nginx Mainline

Actualizar paquetes del sistema Debian

El primer paso de nuestra guía es asegurarse de que su sistema Debian esté completamente actualizado. Esto garantiza que tenga las versiones más recientes de todos los paquetes y parches de seguridad. Para actualizar la lista de paquetes y los paquetes en sí, primero deberá ejecutar el siguiente comando en su terminal:

sudo apt update

Para actualizar cualquier paquete desactualizado, ejecute el siguiente comando:

sudo apt upgrade

Instalar los paquetes necesarios

Dependiendo del método que elija para instalar la última versión principal de Nginx en su sistema Debian, ambos métodos pueden requerir paquetes adicionales. El siguiente comando instalará lo necesario:

sudo apt install curl gnupg2 ca-certificates lsb-release dirmngr software-properties-common apt-transport-https -y

Es posible que la mayoría ya esté instalada, pero vuelva a ejecutar este comando para asegurarse de que así sea.

Importar Nginx.org Repositorio principal de Nginx

Este método extrae la última línea principal o estable de Nginx directamente de los repositorios APT oficiales de Nginx.org. Es la mejor opción para mantenerse actualizado inmediatamente cuando se lanza una versión más nueva de Nginx.

Importar clave GPG de Nginx.org

El primer paso es descargar y agregar la clave GPG de Nginx. Esta clave es necesaria para verificar la autenticidad de los paquetes que instalaremos:

curl -fSsL https://nginx.org/keys/nginx_signing.key | sudo gpg --dearmor | sudo tee /usr/share/keyrings/nginx-archive-keyring.gpg > /dev/null

Ahora usaremos la clave GPG para validar la importación exitosa de la clave:

gpg --dry-run --quiet --import --import-options import-show /usr/share/keyrings/nginx-archive-keyring.gpg

Suponiendo que la importación se realizó correctamente, verá el resultado que confirma los detalles de la clave.

Salida de ejemplo si tiene éxito:

pub   rsa2048 2011-08-19 [SC] [expires: 2024-06-14]
      573BFD6B3D8FBC641079A6ABABF5BD827BD9BF62
uid                      nginx signing key <signing-key@nginx.com>

Importar el repositorio APT de Nginx.org

Con la clave GPG en su lugar de forma segura, podemos agregar el repositorio Nginx Mainline o Stable a nuestra lista de administradores de paquetes APT.

Para importar el repositorio Nginx Mainline, use:

echo "deb [arch=amd64,arm64 signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] http://nginx.org/packages/mainline/debian `lsb_release -cs` nginx" | sudo tee /etc/apt/sources.list.d/nginx.list

Nota: Este artículo trata principalmente sobre la instalación de la línea principal de Nginx. Sin embargo, también ofrecí la opción de instalar la última versión estable, lo que, para muchas distribuciones de Linux, constituiría una actualización significativa.

O, para el repositorio Nginx Stable:

echo "deb [arch=amd64,arm64 signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] http://nginx.org/packages/debian `lsb_release -cs` nginx" | sudo tee /etc/apt/sources.list.d/nginx.list

Nuestro próximo objetivo es configurar la fijación de APT para preferir los paquetes Nginx del repositorio nginx.org a cualquier paquete del repositorio predeterminado de Debian u otros repositorios de terceros.

Esto lo logramos usando el siguiente comando:

echo -e "Package: *\nPin: origin nginx.org\nPin: release o=nginx\nPin-Priority: 900\n" | sudo tee /etc/apt/preferences.d/99nginx

Salida de ejemplo:

x\nPin-Priority: 900\n" | sudo tee /etc/apt/preferences.d/99nginx
Package: *
Pin: origin nginx.org
Pin: release o=nginx
Pin-Priority: 900

En esta etapa, necesitamos actualizar nuestros repositorios APT para incluir las nuevas incorporaciones:

sudo apt update

Finalizar la instalación de la línea principal de Nginx

Con todo configurado correctamente, ya podemos instalar Nginx:

sudo apt install nginx

Una vez completada la instalación, es fundamental verificar que se haya realizado correctamente. Para confirmar la correcta instalación de Nginx, podemos comprobar la versión instalada:

nginx -v

El resultado del comando debe reflejar la última versión de Nginx Mainline o Stable, dependiendo de la que instale.

Método 2: instalar Nginx Mainline a través de Ondřej Surý

El segundo método utiliza el conocido repositorio de terceros mantenido por Ondřej Surý, que muchos en la comunidad Debian y Ubuntu saben que mantiene repositorios Apache, Nginx y PHP para versiones anteriores. Este método se basa en esperar a que se actualice cuando salga una versión más nueva. No es tan rápido como el repositorio APT de Nginx.org, pero esta versión contiene módulos compilados adicionales; uno de ellos utiliza Brotli.

Importar la línea principal de Nginx

Para importar el repositorio principal de Nginx desde el repositorio de terceros, esto es sencillo; use el siguiente comando:

curl -sSL https://packages.sury.org/nginx-mainline/README.txt | sudo bash -x

Para aquellos que prefieren volver a la versión estable más reciente o quieren usar la versión estable en lugar de la principal, use el siguiente comando para importar esta versión:

curl -sSL https://packages.sury.org/nginx/README.txt | sudo bash -x

Asegúrese de haber eliminado la versión principal para evitar conflictos.

Instalar la línea principal de Nginx

Ahora, puede instalar la línea principal o estable de Nginx usando el siguiente comando:

sudo apt install nginx

Confirmar la instalación de la línea principal de Nginx

Con Nginx instalado, puedes confirmar la instalación con el siguiente comando:

nginx -v

El resultado debería mostrar la versión de Nginx instalada; Si coincide con la última versión principal, entonces ha instalado correctamente la versión principal.

Consejos adicionales sobre Nginx con el método de instalación de Ondřej Surý

Configurar Brotli en Nginx Mainline o Stable

Como ambas versiones de Nginx principal o estable incluyen el módulo brotli, para instalarlo, use el siguiente comando:

sudo apt install libnginx-mod-brotli

Ahora abra su archivo de configuración de Nginx:

sudo nano /etc/nginx/nginx.conf

Para habilitar la compresión Brotli en su servidor Nginx, deberá agregar la siguiente configuración en el bloque HTTP de su nginx.conf archivo de configuración:

brotli on;
brotli_comp_level 6;
brotli_static on;
brotli_types application/atom+xml application/javascript application/json application/rss+xml
        application/vnd.ms-fontobject application/x-font-opentype application/x-font-truetype
        application/x-font-ttf application/x-javascript application/xhtml+xml application/xml
        font/eot font/opentype font/otf font/truetype image/svg+xml image/vnd.microsoft.icon
        image/x-icon image/x-win-bitmap text/css text/javascript text/plain text/xml;

Aquí hay un desglose de las directivas de configuración:

  1. brotli on;:
    • Esta directiva permite la compresión Brotli.
  2. brotli_comp_level 6;:
    • Esto establece el nivel de compresión en 6 (en una escala de 0 a 11). Un valor más alto dará como resultado una mejor compresión pero utilizará más recursos de CPU.
  3. brotli_static on;:
    • Esta directiva le indica a Nginx que busque archivos precomprimidos con extensión .br. Si existe dicho archivo, se lo entregará en lugar de comprimirlo sobre la marcha.
  4. brotli_types …;:
    • Esta directiva especifica los tipos MIME de respuestas que deben comprimirse. La larga lista de tipos incluye varios formatos de texto, fuentes e imágenes que se benefician de la compresión Brotli.

Ahora pruebe la configuración de nginx antes de recargar para asegurarse de que no haya errores:

sudo nginx -t

Ahora prueba la compresión brotli con el siguiente comando:

curl -I --compressed http://your-server.com/some-path

Aquí hay un desglose del comando utilizado:

  • curl: esta es la herramienta de línea de comandos utilizada para enviar solicitudes HTTP.
  • -I: Esta bandera le dice a curl que solo obtenga los encabezados.
  • –compressed: esta bandera le dice a curl que solicite contenido comprimido.
  • http://your-server.com/some-path: Esta es la URL que estás probando.

Busque un encabezado en la salida que diga Content-Encoding: br. Esto indica que se está utilizando la compresión Brotli:

Content-Encoding: br

Conclusión

Al instalar Nginx Mainline en Debian utilizando el apt-mirror oficial de nginx.org o el repositorio de terceros de Ondřej Surý, usted ha equipado su servidor con la versión más reciente y avanzada de Nginx. Esto garantiza que su sistema pueda aprovechar las características de vanguardia y las mejoras de rendimiento adaptadas a su entorno específico. Las actualizaciones regulares desde el repositorio elegido mantendrán a Nginx funcionando de manera segura y eficiente. Ya sea que opte por el espejo oficial o el repositorio de terceros, el mantenimiento de Nginx Mainline lo ayudará a mantenerse a la vanguardia en tecnología de servidores web en su sistema Debian.

Joshua James
Sígueme
Últimas entradas de Joshua James (ver todo)

Deja un comentario