Cómo instalar Nginx Server Blocks (Virtual Hosts) en CentOS 8

1 mar 2021 3 min di lettura
Cómo instalar Nginx Server Blocks (Virtual Hosts) en CentOS 8
Indice dei contenuti

Introducción

Un bloque de servidor es una directiva de Nginx que define la configuración de un dominio específico, lo que le permite ejecutar más de un sitio web en un solo servidor. Para cada sitio web, puede establecer la raíz del documento del sitio (el directorio que contiene los archivos del sitio web), crear una política de seguridad separada, usar diferentes certificados SSL y mucho más.

Este artículo describe cómo configurar bloques de servidor Nginx en CentOS 8.

Prerrequisitos

Asegúrese de cumplir con los siguientes requisitos antes de continuar con este tutorial:

En algunos documentos, el término Server Blocks se denomina Virtual host. Un host virtual es un término de Apache.

Si desea instalar Nginx Server Blocks en un servidor remoto, continúe leyendo; de lo contrario, omita el primer párrafo "Conectando al servidor" y lea el siguiente.

Conexión al servidor

Para acceder al servidor, necesita conocer la dirección IP. También necesitará su nombre de usuario y contraseña para la autenticación. Para conectarse al servidor como root, escriba el siguiente comando:

ssh root@IP_DEL_SERVER

A continuación, deberá ingresar la contraseña del usuario root.

Si no está utilizando el usuario root, puede iniciar sesión con otro nombre de usuario utilizando el mismo comando, luego cambie root a su nombre de usuario:

ssh nome_utente@IP_DEL_SERVER

Luego se le pedirá que ingrese su contraseña de usuario.

El puerto estándar para conectarse a través de ssh es 22, si su servidor usa un puerto diferente, deberá especificarlo usando el parámetro -p, luego escriba el siguiente comando:

ssh nome_utente@IP_DEL_SERVER -p PORTA

Crea la estructura del directorio

La raíz del documento es el directorio donde se almacenan los archivos del sitio web para un nombre de dominio y se ofrecen en respuesta a las solicitudes. La raíz del documento se puede establecer en cualquier ubicación deseada.

Usaremos la siguiente estructura de directorios:

/var/www/├── example.com
 │  └── public_html
 ├── example2.com
 │  └── public_html
 ├── example3.com
 │  └── public_html

Para cada dominio que se alojará en el servidor, crearemos un directorio separado dentro de /var/www. Dentro del directorio del dominio, crearemos un public_html que será la raíz del documento del dominio y almacenaremos los archivos del sitio web del dominio.

Comencemos creando el directorio raíz para el dominio example.com

sudo mkdir -p /var/www/example.com/public_html

En este tutorial usamos nano, si lo prefiere puede usar vi instalado por defecto en la mayoría de las distribuciones.

sudo dnf install nano

Para fines de prueba, cree un index.html en la raíz de los documentos del dominio:

sudo mkdir -p /var/www/example.com/public_html
sudo nano /var/www/example.com/public_html/index.html

Copie y pegue el siguiente código en el archivo:

<!DOCTYPE html>
 <html lang="en" dir="ltr">
 <head>
 <meta charset="utf-8">
 <title>Welcome to example.com</title>
 </head>
 <body>
 <h1>Success! example.com home page!</h1>
 </body>
 </html>

Para evitar problemas de autorización, cambie la propiedad raíz del documento de dominio nginx usuario nginx:

sudo chown -R nginx: /var/www/example.com

Crea un bloque de servidor

De forma predeterminada en CentOS, los archivos de configuración del bloque del servidor Nginx deben terminar con .conf y se almacenan en el directorio /etc/nginx/conf.d

Abra su editor de texto y cree el archivo de configuración para el dominio:

sudo nano /etc/nginx/conf.d/example.com.conf

El archivo de configuración puede tener el nombre que desee, pero generalmente es mejor usar el nombre de dominio.

Copie y pegue el siguiente código en el archivo:

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

 root /var/www/example.com/public_html;

 index index.html;

 server_name example.com www.example.com;

 access_log /var/log/nginx/example.com.access.log;
 error_log /var/log/nginx/example.com.error.log;

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

Guarde el archivo y verifique la configuración de Nginx para ver si hay errores de sintaxis:

sudo nginx -t

Si no hay errores, la salida se verá así:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
 nginx: configuration file /etc/nginx/nginx.conf test is successful

Reinicie el servicio Nginx para que los cambios surtan efecto:

sudo systemctl restart nginx

Finalmente, para verificar si el bloque del servidor está funcionando como se esperaba, abra su navegador y navegue hasta su dirección http://example.com Debería ver la página html creada anteriormente.

Conclusión

Le mostramos cómo crear bloques de servidor Nginx y alojar múltiples dominios en un solo servidor CentOS. Puede repetir los pasos descritos anteriormente y crear bloques de servidor adicionales para todos sus dominios.

Si desea proteger su sitio web con un certificado SSL, puede generar e instalar un certificado SSL de Letsencrypt gratuito.

Support us with a

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.