Instale Nginx con bloques de servidor (hosts virtuales) en Debian 10


Nginx es un servidor web de alto rendimiento muy popular que combina el poder del proxy inverso, el equilibrio de carga, el almacenamiento en caché y mucho más. Dependiendo de cómo esté configurado, puede actuar como un proxy inverso y como un balanceador de carga para servidores HTTP/HTTPS.

El servidor web Nginx tiene una capacidad fenomenal para servir miles de conexiones simultáneas y esto lo convierte en el servidor web más rápido, con más de la mitad de los sitios más ocupados del mundo. Estos incluyen Netflix, DuckDuckGo y DropBox, por mencionar solo algunos.

En este tutorial, lo guiaremos a través de los pasos sobre cómo instalar Nginx con hosts virtuales para alojar múltiples dominios en un servidor Debian 10.

Antes de comenzar, asegúrese de que se cumplan los siguientes requisitos:

  1. Una instancia de Debian 10.
  2. Un nombre de dominio completo (FQDN) que apunta al servidor.
  3. En esta guía, usamos el dominio tecmint.com que apunta a un sistema Debian 10 con una dirección IP 192.168.0.104.
  4. Una buena conexión a Internet.

Paso 1: actualice el repositorio de paquetes de Debian 10

Antes que nada, necesitamos actualizar nuestro repositorio de paquetes local a las últimas versiones. Para lograr esto, inicie sesión como un usuario regular con privilegios de sudo y ejecute el siguiente comando.

$ sudo apt update -y

Paso 2: instale Nginx en Debian 10

Dado que Nginx está presente en los repositorios de Debian, podemos instalarlo cómodamente utilizando el administrador de paquetes apt que viene con Debian.

$ sudo apt install nginx -y

Paso 3: Verificación del estado del servidor web Nginx

Si no encontró ningún error, entonces el servidor web Nginx se instaló correctamente. Es prudente verificar el estado del servidor web antes de realizar más configuraciones.

Para verificar el estado de Nginx, ejecute:

$ systemctl status nginx

Si el servidor web está funcionando, recibirá la notificación a continuación.

Si desea reiniciar el servidor web Nginx, ejecute el comando.

$ systemctl restart nginx

Para detener Nginx, emita el comando.

$ systemctl stop nginx

Para iniciar el servidor web, ejecute.

$ systemctl start nginx

Para configurar el servidor web Nginx para que se inicie en el arranque, ejecute.

$ systemctl enable nginx

Paso 4: Configure el firewall para abrir el puerto Nginx

Con Nginx instalado y funcionando correctamente, debemos permitir el acceso web al servicio, especialmente a los usuarios externos. Si tiene el firewall UFW habilitado, debe permitir el acceso HTTP a través del firewall.

Para lograr esto, ejecute el comando.

$ sudo ufw allow 'Nginx HTTP'

A continuación, vuelva a cargar el cortafuegos para efectuar los cambios.

$ sudo ufw reload

Genial, ahora puede verificar que HTTP esté permitido a través del firewall ejecutando.

$ sudo ufw status

En el fragmento anterior, podemos ver claramente que Nginx HTTP se ha permitido a través del firewall de UFW.

Paso 5: Acceder al servidor web Nginx

Hasta ahora hemos realizado las configuraciones básicas para que Nginx esté en funcionamiento. Para acceder al servidor web a través del navegador web, busque la dirección IP del servidor como se muestra.

http://server-IP-address

Esta es una confirmación de que Nginx está en funcionamiento.

Paso 6: configurar bloques de servidor Nginx en Debian 10

Este es un paso opcional y es útil cuando desea alojar varios dominios en un servidor web Nginx. Para que esto funcione, necesita tener un nombre de dominio apuntado a su servidor Debian.

Para esta sección, usaremos el nombre de dominio tecmint.com cuyo registro A apunta a la IP 192.168.0.104 del servidor.

Cuando apunte el nombre de dominio a la dirección IP de su servidor, el nombre de dominio pronto cambiará y apuntará a su servidor web como se muestra.

Creemos ahora un bloque de servidor.

En primer lugar, creemos un directorio para nuestro dominio como se muestra.

$ sudo mkdir -p /var/www/html/tecmint.com

Luego asigne la propiedad de archivo requerida como se muestra.

$ sudo chown -R $USER:$USER /var/www/html/tecmint.com

A continuación, asigne permisos de lectura y ejecución al grupo y a los usuarios públicos como se muestra.

$ sudo chmod -R 755 /var/www/html/tecmint.com

Creemos ahora una página web de muestra simple index.html utilizando el editor de texto vim.

$ sudo vim /var/www/html/tecmint.com/index.html

Agregue contenido de muestra al archivo. Esto se mostrará en el navegador.

<html>
    <head>
        <title>Welcome to Linux geeks</title>
    </head>
    <body>
        <h1>Success! Welcome to your new server block on Tecmint Nginx Web Server !</h1>
    </body>
</html>

Guarde y salga del editor

Para que se sirva este contenido, es necesario crear un bloque de servidor.

Creemos un bloque de servidor

$ vim  /etc/nginx/sites-available/tecmint.com

Copie y pegue el siguiente contenido en el archivo de bloque del servidor.

server {
        listen 80;
        listen [::]:80;

        root /var/www/html/tecmint.com;
        index index.html index.htm index.nginx-debian.html;

        server_name tecmint.com www.tecmint.com;

        location / {
                try_files $uri $uri/ =404;
        }
}

Asegúrese de actualizar el nombre de dominio tecmint.com con su propio nombre de dominio.

Para activar o habilitar el archivo de bloqueo del servidor, cree un enlace simbólico como se muestra.

$ sudo ln -s /etc/nginx/sites-available/tecmint.com /etc/nginx/sites-enabled/

Para verificar que todas las configuraciones en Nginx estén configuradas correctamente, ejecute.

$ sudo nginx -t

¡Genial, estamos listos para comenzar! Finalmente reinicie Nginx.

$ sudo systemctl restart nginx

Vaya a su navegador y actualice y, si todo salió bien, el navegador debería estar sirviendo su página web de bloqueo de servidor como se muestra.

Paso 7: Acceder a los archivos de registro de Nginx

Para acceder a los archivos de registro sobre las solicitudes realizadas a su servidor, acceda al archivo a continuación.

$ sudo vim /var/log/nginx/access.log 

En caso de que encuentre errores en su servidor web Nginx, examine el archivo en busca de errores.

$ sudo vim /var/log/nginx/error.log

En esta guía, aprendió cómo instalar Nginx en su instancia de Debian 10 y cómo configurarlo para admitir dominios adicionales. Esperamos que esta guía le haya resultado útil. Sus comentarios serán apreciados.