Cómo configurar bloques de servidor Nginx (hosts virtuales) en CentOS 8


Un bloque de servidor Nginx es el equivalente a un servidor virtual Apache y le permite alojar más de un dominio o sitio web en su servidor.

En este artículo, aprenderá a configurar bloques de servidor Nginx (hosts virtuales) en CentOS 8 y RHEL 8 Linux.

¡Empecemos!

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

De inmediato, debe crear un directorio raíz web personalizado para el dominio que desea alojar. Para nuestro caso, crearemos el directorio como se muestra usando la opción mkdir -p para crear todos los directorios principales necesarios:

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

A continuación, asigne los permisos del directorio utilizando la variable de entorno mial . Al hacerlo, asegúrese de haber iniciado sesión como usuario normal y no como usuario root.

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

A continuación, asigne los permisos de directorio correctos de forma recursiva como se muestra:

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

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

A continuación, crearemos un archivo index.html dentro del directorio raíz web personalizado que será atendido por el dominio una vez que se realice una solicitud.

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

Dentro del archivo, pegue el siguiente contenido de muestra.

<html>
    <head>
        <title>Welcome to your_domain!</title>
    </head>
    <body>
  <h1>Awesome! Your Nginx server block is working!</h1>
    </body>
</html>

Guarde y salga del archivo de configuración.

Paso 3: Cree un bloque de servidor Nginx en CentOS

Para que el servidor web Nginx sirva el contenido en el archivo index.html que creamos en el paso 2, necesitamos crear un archivo de bloque del servidor con las directivas apropiadas. Por lo tanto, crearemos un nuevo bloque de servidor en:

$ sudo vim /etc/nginx/conf.d/crazytechgeek.info.conf

A continuación, pega la configuración que aparece 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;

}

Cuando haya terminado, guarde los cambios y salga del archivo de configuración. Para confirmar que todas las configuraciones de Nginx son sólidas y sin errores, ejecute el comando:

$ sudo nginx -t

¡El resultado a continuación debería ser una confirmación de que está listo para comenzar!

Finalmente, reinicie su servidor web Nginx y confirme que está funcionando como se esperaba:

$ sudo systemctl restart nginx
$ sudo systemctl status Nginx

Paso 4: Probar el bloque del servidor Nginx en CentOS

Todos hemos terminado con las configuraciones. La única parte que queda es confirmar si nuestro bloque de servidor está sirviendo contenido en el directorio raíz web definido anteriormente en el archivo index.html .

Para hacer esto, simplemente abra su navegador y vaya al dominio de su servidor como se muestra:

http://domain-name

Como se ha observado, nuestro contenido está siendo servido por el bloque del servidor, una clara indicación de que todo salió bien.

Paso 5: Habilite HTTPS en el dominio alojado en Nginx

Puede considerar encriptar su dominio usando Lets Encrypt SSL para agregar una capa de protección y asegurar el tráfico hacia y desde el servidor web.

$ sudo dnf install certbot python3-certbot-nginx
$ sudo certbot --nginx

Para confirmar que su dominio está configurado correctamente en HTTPS, visite https://yourwebsite.com/ en su navegador y busque el icono de candado en la barra de URL.

Hemos configurado con éxito un bloque de servidor Nginx en CentOS 8 y RHEL 8. Puede repetir lo mismo para varios dominios utilizando el mismo procedimiento.