GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo instalar NGINX en Ubuntu 18.04

NGINX es un servidor web de alto rendimiento utilizado en particular para administrar archivos estáticos y como proxy inverso. Gracias a su versatilidad, NGINX se puede utilizar en cualquier situación. En esta guía verás cómo instalarlo en tu servidor y cómo configurarlo para dos o más dominios.

Primero, conéctese a su servidor a través de una conexión SSH. Si aún no lo ha hecho, se recomienda seguir nuestra guía para conectarse de forma segura con SSH. En caso de un servidor local, vaya al siguiente punto y abra la terminal de su servidor.

Instalación de NGINX

Actualice los repositorios de distribución para asegurarse de descargar la última versión de NGINX:

$ sudo apt update

Ejecute el siguiente comando para instalar el paquete NGINX:

$ sudo apt install nginx

Una vez completada la instalación, inicie el servicio e instálelo en el sistema:

$ sudo systemctl start nginx

$ sudo systemctl enable nginx

Configuración del cortafuegos

En caso de que haya un firewall en su sistema, configúrelo para habilitar el tráfico HTTP y el tráfico HTTPS a su máquina.

Al usar el firewall UFW, se proporcionan perfiles preinstalados para NGINX. Así que veamos cómo habilitarlos.

Para verificar los perfiles disponibles instalados en el firewall UFW, ejecute este comando:

$ sudo ufw app list

Se mostrará una lista similar a la siguiente en la pantalla:

Available applications:

  Dovecot IMAP

  Dovecot POP3

  Dovecot Secure IMAP

  Dovecot Secure POP3

  Nginx Full

  Nginx HTTP

  Nginx HTTPS

  OpenSSH

  Postfix

  Postfix SMTPS

  Postfix Submission

Para permitir el tráfico HTTP (Puerto 80) y HTTPS (Puerto 443), use el perfil "Nginx Full".

Verifique la información de su perfil como se muestra a continuación:

$ sudo ufw app info "Nginx Full"

Aparecerá la descripción del perfil en pantalla:

Profile: Nginx Full

Title: Web Server (Nginx, HTTP + HTTPS)

Description: Small, but very powerful and efficient web server
                Ports:

  80,443/tcp

Después de verificar el perfil, estará listo para habilitarlo:

$ sudo ufw allow in "Nginx Full"

En este punto, se completa la configuración de NGINX y el firewall. Pruebe el servidor web visitando la dirección http:// o en el caso de un servidor local http:// localhost. Si el procedimiento se realizó correctamente, se mostrará la pantalla NGINX predeterminada.

Configurar dos dominios/sitios web correctamente:

A continuación se muestra cómo configurar dos hosts virtuales (llamados "bloques de servidor") para tener dos espacios web completamente separados. En este ejemplo, utilizaremos dos dominios ficticios:

  • www.sudominio.com

  • www.sudominio2.com

Ambos registros A deben apuntar a la dirección IP pública de su servidor.

Empiece por crear todas las carpetas necesarias para almacenar los archivos públicos de sus sitios web:

$ sudo mkdir /var/www

$ sudo mkdir /var/www/yourdomain.com

$ sudo mkdir /var/www/yourdomain.com/htdocs

$ sudo mkdir /var/www/yourdomain.com/logs
                $ sudo mkdir /var/www/yourdomain2.com

$ sudo mkdir /var/www/yourdomain2.com/htdocs

$ sudo mkdir /var/www/yourdomain2.com/logs

Como contenido temporal, copie la página NGINX predeterminada a las carpetas htdocs de cada dominio:

$ sudo cp /usr/share/nginx/html/* /var/www/yourdomain.com/htdocs/

$ sudo cp /usr/share/nginx/html/* /var/www/yourdomain2.com/htdocs/

Ahora, continúe con la configuración real de NGINX. NGINX generalmente lee todos los archivos .conf en el directorio /etc/nginx/conf.d/, continúe creando dos archivos (uno por dominio), nombrándolos:

  • sudominio_com.conf

  • sudominio2_com.conf

Utilice su editor de texto favorito para escribir la siguiente configuración en el archivo yourdomain_com.conf:

server {
                        

        listen 80;
                        

        server_name yourdomain.com *.yourdomain.com;
                        

        root /var/www/yourdomain.com/htdocs;
                        

        access_log /var/www/yourdomain.com/logs/access.log main;

        error_log /var/www/yourdomain.com/logs/error.log warn;

}

Obviamente también debe usar una configuración similar para sudominio2_com.conf:

server {
                        

        listen 80;
                        

        server_name yourdomain2.com *.yourdomain2.com;
                        

        root /var/www/yourdomain2.com/htdocs;
                        

        access_log /var/www/yourdomain2.com/logs/access.log main;

        error_log /var/www/yourdomain2.com/logs/error.log warn;

}

Además de la configuración de la carpeta raíz para los archivos del dominio virtual, también hay configuraciones para configurar las rutas de los archivos de registro (tanto de acceso como de error) para tener un registro por dominio. Normalmente, NGINX guarda todos los registros en el directorio /var/log/nginx/ pero en el caso de un dominio múltiple, el resultado puede ser confuso.

Los registros pueden volverse demasiado grandes con el tiempo si se cambia su ruta. Por lo tanto, es necesario establecer una rotación de los archivos para eliminar los contenidos más antiguos. Para hacerlo, utilice el software logrotate.

Para agregar nuevos archivos de registro en la configuración de logrotate, edite el archivo /etc/etc/logrotate.d/nginx:

/var/log/nginx/*log {

    create 0644 nginx nginx

    daily

    rotate 10

    missingok

    notifempty

    compress

    sharedscripts

    postrotate

        /bin/kill -USR1 `cat /run/nginx.pid 2>/dev/null` 2>/dev/null || true

    endscript

}

Como puede ver, ya existe una configuración para los archivos NGINX en /var /log/nginx. Proceda modificando la primera parte del archivo de la siguiente manera:

/var/log/nginx/*log

/var/www/*/logs/* {

    ...

}

Una vez realizado este cambio, logrotate administrará todos los archivos en las carpetas de registros de /var/www/mydomain.it y /var/www/yourdomain.com (y cualquier otro), sin tener que preocuparse por cualquier otro dominio que pueda agregarse en el futuro.

Una vez completado, reinicie el servicio para aplicar los cambios:

$ sudo systemctl reload nginx

Linux
  1. Cómo instalar R en Ubuntu 20.04

  2. Cómo instalar Nginx en Ubuntu 16.04

  3. Cómo instalar Nginx en Ubuntu 18.04

  4. Cómo instalar LEMP en Ubuntu 18.04

  5. Instalar Nginx en Ubuntu

Cómo instalar Go en Ubuntu 20.04

Cómo instalar Go en Ubuntu 22.04

Instalar Nginx en Ubuntu 18.04

Cómo instalar Nginx en Ubuntu 14.04

Cómo instalar NGINX en Ubuntu 20.04

Cómo instalar Nginx en Ubuntu 22.04