Búsqueda de sitios web

Cómo configurar bloques de servidor Nginx (hosts virtuales) en Ubuntu 20.04


En ocasiones, es posible que necesites alojar más de un dominio o sitio web en tu servidor web Nginx. Para que eso suceda, es necesario configurar un Bloque de Servidor (Hosts Virtuales) para encapsular toda la configuración de su dominio. Los bloques de servidor Nginx son sinónimos de archivos de host virtual Apache y tienen el mismo propósito.

Este tema demuestra cómo configurar un bloque de servidor Nginx en Ubuntu 20.04.

Requisitos previos:

  • Un registro A definido en su proveedor de alojamiento de nombres de dominio. Un registro A es un registro DNS que apunta el nombre de dominio a la dirección IP del servidor público. En esta guía, utilizaremos el nombre de dominio crazytechgeek.info con fines ilustrativos.
  • Un servidor Nginx o pila LEMP instalado en una instancia de Ubuntu 20.04 LTS.
  • Un usuario que inicie sesión con privilegios de Sudo.

Una vez cumplidos todos los requisitos, exploremos cómo puede configurar un bloque de servidor Nginx en Ubuntu.

Paso 1: crear un directorio raíz de documentos Nginx

Para comenzar, crearemos un directorio separado para nuestro dominio que contendrá todas las configuraciones relacionadas con el dominio.

sudo mkdir -p /var/www/crazytechgeek.info/html

A continuación, asigne la propiedad del directorio utilizando la variable de entorno $USER. Esto asigna la propiedad del directorio al usuario actualmente conectado. Asegúrese de haber iniciado sesión con una cuenta de usuario normal y no como root.

sudo chown -R $USER:$USER /var/www/crazytechgeek.info/html

A continuación, asigne los permisos apropiados al directorio, otorgando al usuario que inició sesión todos los derechos (lectura, escritura y ejecución) y al grupo y a otros usuarios permisos de lectura y ejecución únicamente.

sudo chmod -R 755 /var/www/crazytechgeek.info

Con los permisos y la propiedad del directorio configurados correctamente, necesitamos crear una página web de muestra para el dominio.

Paso 2: cree una página de muestra para el dominio

En este paso, vamos a crear un archivo index.html para fines de prueba. Este archivo proporcionará contenido que se mostrará en el navegador web cuando se llame al dominio en el navegador.

sudo vim /var/www/crazytechgeek.info/html/index.html

Pegue el siguiente contenido HTML.

<html>
    <head>
        <title>Welcome to your_domain!</title>
    </head>
    <body>
  <h1>Bravo! Your server block is working as expected!</h1>
    </body>
</html>

Guarde y salga del archivo de configuración.

Paso 3: cree un bloque de servidor Nginx en Ubuntu

Los bloques del servidor Nginx se encuentran en el directorio /etc/nginx/sites-available. El bloque del servidor Nginx predeterminado es /etc/nginx/sites-available/default que sirve el archivo HTML predeterminado en /var/www/html/index.nginx-debian.html .

Para nuestro caso, necesitamos crear un bloque de servidor que servirá el contenido del archivo index.html que creamos anteriormente.

Entonces, cree el archivo de bloque del servidor que se muestra.

sudo vim /etc/nginx/sites-available/crazytechgeek.info

Pegue el contenido a continuación:

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

        root /var/www/crazytechgeek.info/html;
        index index.html index.htm index.nginx-debian.html;

        server_name crazytechgeek.info www.crazytechgeek.info;

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

		
    access_log /var/log/nginx/crazytechgeek.info.access.log;
    error_log /var/log/nginx/crazytechgeek.info.error.log;

}

Guardar y salir del archivo.

Paso 4: habilite el bloqueo del servidor Nginx en Ubuntu

Para habilitar el bloque del servidor Nginx, debe vincularlo simbólicamente al directorio /etc/nginx/sites-enabled/ como se muestra.

sudo ln -s /etc/nginx/sites-available/crazytechgeek.info /etc/nginx/sites-enabled/

En este punto, prácticamente hemos terminado. Sin embargo, es prudente confirmar que todas las configuraciones estén en orden. Para hacerlo, ejecute el comando:

sudo nginx -t

Si siguió nuestros pasos correctamente, debería obtener el resultado que se muestra:

Finalmente, reinicie Nginx para que los cambios realizados en los archivos de configuración surtan efecto.

sudo systemctl restart Nginx

Luego confirme si Nginx se está ejecutando ejecutando el comando que se muestra:

sudo systemctl status Nginx

Paso 5: Probar el bloque del servidor Nginx en Ubuntu

Para confirmar si el bloque del servidor funciona como se esperaba y ofrece contenido en el directorio /var/www/crazytechgeek.info, abra su navegador web y busque el nombre de dominio de su servidor:

http://domain-name

Debería obtener el contenido del archivo HTML en su bloque de servidor como se muestra.

Conclusión

En esta guía, le mostramos cómo configurar un bloque de servidor Nginx usando un único dominio en Ubuntu Linux. Puede repetir los mismos pasos para diferentes dominios y aún así lograr los mismos resultados. Esperamos que la guía haya sido reveladora.