GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Cómo instalar la última versión de Nginx en Ubuntu 18.04, Ubuntu 20.04

Anteriormente discutimos cómo instalar la pila LEMP, que es una pila de software común para alojar sitios web dinámicos, en Ubuntu 18.04 LTS. Sin embargo, el software en la versión Ubuntu LTS (soporte a largo plazo) a menudo está desactualizado. En este tutorial, aprenderemos cómo instalar la última versión de Nginx en Ubuntu 18.04 y Ubuntu 20.04. Al momento de escribir este artículo, la última versión de Nginx es 1.17.0, lanzada el 21 de mayo de 2019. Puede ver el registro de cambios aquí.

Instalación de la última versión de Nginx en Ubuntu 18.04, 20.04 desde el repositorio oficial de Nginx

Nginx.org mantiene un repositorio para Ubuntu. Podemos usar este repositorio para instalar la última versión de Nginx. Primero, cree un archivo fuente de repositorio para Nginx con el siguiente comando. Nano es un editor de texto de línea de comandos.

sudo nano /etc/apt/sources.list.d/nginx.list

Agregue las siguientes dos líneas en el archivo.

deb [arch=amd64] http://nginx.org/packages/mainline/ubuntu/ bionic nginx
deb-src http://nginx.org/packages/mainline/ubuntu/ bionic nginx

Si usa Ubuntu 20.04, cambie bionic a focal .

deb [arch=amd64] http://nginx.org/packages/mainline/ubuntu/ disco nginx
deb-src http://nginx.org/packages/mainline/ubuntu/ disco nginx

Para guardar el archivo en el editor de texto Nano, presione CTRL+O , luego presione Enter para confirmar. Presiona CTRL+X salir. Para verificar la integridad de los paquetes descargados de este repositorio, necesitamos importar la clave pública de Nginx usando los siguientes comandos.

wget http://nginx.org/keys/nginx_signing.key

sudo apt-key add nginx_signing.key

Una vez que el repositorio se haya agregado a su sistema Ubuntu 18.04, ejecute el siguiente comando para actualizar la información del repositorio.

sudo apt update

Si instaló Nginx desde el repositorio de software predeterminado de Ubuntu, debe eliminarlo.

sudo apt remove nginx nginx-common nginx-full nginx-core

También es posible que desee hacer una copia de seguridad del archivo de configuración principal de Nginx /etc/nginx/nginx.conf porque será reemplazado por un nuevo nginx.conf archivo cuando más tarde instalemos la última versión de Nginx.

sudo cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bak

Sus archivos de bloque de servidor existentes (también conocido como archivo de host virtual) estarán intactos. Ahora ejecute el siguiente comando para instalar Nginx desde el repositorio nginx.org.

sudo apt install nginx

Si el administrador de paquetes apt le pregunta si desea instalar una nueva versión del archivo /etc/nginx/nginx.conf, puede responder No.

Después de instalar Nginx, pruebe la configuración de Nginx.

sudo nginx -t

Si la prueba es exitosa, inicie Nginx.

sudo systemctl start nginx

Habilite el inicio automático en el momento del arranque.

sudo systemctl enable nginx

Para verificar el estado de Nginx, ejecute

systemctl status nginx

Salida:

● nginx.service - nginx - high performance web server
   Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
   Active: active (running) since Sun 2019-05-26 21:01:10 CST; 3s ago
     Docs: http://nginx.org/en/docs/
  Process: 16159 ExecStart=/usr/sbin/nginx -c /etc/nginx/nginx.conf (code=exited, status=0/SUCCESS)
 Main PID: 16160 (nginx)
    Tasks: 2 (limit: 4915)
   CGroup: /system.slice/nginx.service
           ├─16160 nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf
           └─16161 nginx: worker process

May 26 21:01:10 bionic.local.domain systemd[1]: Starting nginx - high performance web server...
May 26 21:01:10 bionic.local.domain systemd[1]: Started nginx - high performance web server.

Para verificar la versión de Nginx, use este comando:

nginx -v

Salida:

nginx version: nginx/1.17.0

También puede consultar información más detallada con:

nginx -V

Salida:

Configuración del usuario del proceso Nginx

El paquete Nginx del conjunto de repositorios nginx.org nginx como el usuario del proceso Nginx que se puede deducir de la primera línea de /etc/nginx/nginx.conf expediente. (Si eligió instalar la nueva versión de /etc/nginx/nginx.conf archivo.)

user nginx;

Sin embargo, el usuario y grupo predeterminados del proceso PHP-FPM es www-data como se puede ver en /etc/php/7.2/fpm/pool.d/www.conf archivo.

user = www-data
group = www-data

Así que tenemos que configurar www-data como usuario del proceso Nginx en /etc/nginx/nginx.conf archivo.

sudo nano /etc/nginx/nginx.conf

Cambiar

user nginx;

a

user www-data;

Guarde y cierre el archivo. Luego recarga Nginx.

sudo systemctl reload nginx

Incluyendo archivos de bloque de servidor

Por defecto, solo los archivos bajo /etc/nginx/conf.d/ Se incluirá el directorio. Si también desea utilizar archivos de bloqueo del servidor en sites-enabled directorio, luego asegúrese de agregar las siguientes líneas en el http sección de nginx.conf archivo.

include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;

Instalar el complemento Certbot Nginx

Si anteriormente instaló Nginx desde el repositorio de Ubuntu, entonces el paquete python3-certbot-nginx probablemente se eliminó cuando instaló Nginx desde el repositorio nginx.org. Necesitamos volver a instalarlo para que su certificado TLS se pueda renovar automáticamente como de costumbre.

sudo apt install python3-certbot-nginx

Cómo reiniciar automáticamente Nginx

A veces, Nginx puede fallar por varias razones. Si prefiere que Nginx se reinicie automáticamente después de un bloqueo, debemos editar la unidad de servicio de Nginx. Primero, copie la unidad de servicio Nginx original en /etc/systemd/system/ directorio.

sudo cp /lib/systemd/system/nginx.service /etc/systemd/system/nginx.service

Luego edite la unidad de servicio.

sudo nano /etc/systemd/system/nginx.service

Agrega la siguiente línea en el [service] sección.

Restart=always
RestartSec=2

Así:

[Service]
Type=forking
PIDFile=/var/run/nginx.pid
ExecStart=/usr/sbin/nginx -c /etc/nginx/nginx.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s TERM $MAINPID
Restart=always
RestartSec=2

Esto hará que Nginx intente reiniciarse cada 2 segundos después de un bloqueo. Guarde y cierre el archivo. Luego reinicie Nginx.

sudo systemctl restart nginx

Siguiente paso

Espero que este tutorial le haya ayudado a instalar la última versión de Nginx en Ubuntu 18.04 y Ubuntu 20.04. También puede instalar la última versión del servidor de base de datos MariaDB en Ubuntu 18.04 y 20.04.

  • Cómo instalar MariaDB 10.5 en Ubuntu 18.04, Ubuntu 20.04

Y si le preocupa la seguridad, puede configurar el cortafuegos de la aplicación web ModSecurity para proteger su sitio de WordPress contra la piratería.

  • Cómo configurar ModSecurity con Nginx en Debian/Ubuntu

Como siempre, si esta publicación le resultó útil, suscríbase a nuestro boletín gratuito para obtener nuevos consejos y trucos 🙂


Ubuntu
  1. Cómo instalar la última versión de Handbrake en Ubuntu

  2. Cómo instalar el último Vim en Ubuntu

  3. ¿Cómo instalar la última versión de Nitroshare en Ubuntu?

  4. Cómo instalar g ++ en Ubuntu

  5. Cómo instalar ClamAV en Ubuntu 20.04

¿Cómo instalar la última versión de GCC en Ubuntu 20.04?

Cómo instalar Nginx en Ubuntu

Cómo instalar Nginx en Ubuntu 15.04

Cómo instalar Monitorix en Ubuntu 16.04

Cómo instalar la versión principal de Nginx en Ubuntu 16.04 LTS

Cómo instalar NGINX en Ubuntu 18.04