Cómo configurar bloques de servidor Nginx en Debian 10

4 minutos de lectura

Un bloque de servidor es una directiva 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 configurar 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 explica cómo configurar bloques de servidor Nginx en Debian 10.

Tabla de contenidos

Prerrequisitos

Asegúrate de cumplir con los siguientes requisitos previos:

  • Nombre de dominio que apunta a la IP de su servidor público.
  • Nginx instalado en su sistema Debian.
  • Iniciar sesión como usuario root o usuario con privilegios de sudo.

En alguna documentación, el término Server Blocksse denomina a Virtual host un host virtual es un término de Apache.

Crear la estructura del directorio

La raíz del documento es el directorio donde se almacenan y sirven los archivos del sitio web para un nombre de dominio en respuesta a las solicitudes. La raíz del documento puede ser cualquier directorio en el servidor.

En este articulo usaremos la siguiente estructura de directorios:

/var/www/
├── domain1.com
│   └── public_html
├── domain2.com
│   └── public_html
├── domain3.com
│   └── public_html

Básicamente, crearemos un directorio separado para cada dominio que queramos alojar en nuestro servidor dentro del directorio/var/www. Dentro de cada uno de estos directorios, crearemos un directorio public_htmlque almacenará los archivos del sitio web del dominio.

Ejecutaremos el siguiente comando para crear el directorio raíz para el dominio example.com:

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

A continuación, creamos un archivo index.htmldentro del directorio raíz de documentos del dominio:

nano /var/www/example.com/public_html/index.html

Abrimos el archivo y pegamos las siguientes líneas:

/var/www/example.com/public_html/index.html
<!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 permisos, cambiamos la propiedad del directorio raíz del documento de dominio al usuario de Nginx (www-dat):

chown -R www-data: /var/www/example.com

Crear un bloque de servidor

Por defecto, en los sistemas Debian, los archivos de configuración de bloques de servidor Nginx se almacenan en el directorio/etc/nginx/sites-available. Para activar una configuración, debemos vincular el archivo al directorio/etc/nginx/sites-enabled/.

Abra su editor de texto y cree el siguiente archivo de bloqueo del servidor:

nano /etc/nginx/sites-available/example.com.conf
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;
    }
}

El archivo de configuración se puede nombrar como desees, pero por lo general, es mejor usar el nombre de dominio.

Habilitamos el nuevo archivo de bloqueo del servidor creando un enlace simbólico del archivo al directorio sites-enabledde la siguiente forma:

ln -s /etc/nginx/sites-available/example.com.conf /etc/nginx/sites-enabled/

Comprobamos que la sintaxis te nginx es correcta con el siguiente comando:

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

Ahora reiniciamos para que todos los cambios surtan efecto:

/etc/init.d/nginx restart

Para verificar que el bloqueo del servidor funciona como se esperaba, abrimos http://example.comen su navegador y podremos ver el siguiente mensaje:

Conclusión

He mostrado cómo crear bloques de servidor Nginx y alojar múltiples dominios en un solo servidor Debian. Para crear un bloque de servidor para otro dominio, repite los mismos pasos.

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

5/5 - (1 voto)
Diego García Cuesta: Técnico superior en administración de sistemas informáticos y redes. Autodidacta, amante de la tecnología y el deporte. En mis tiempos libres investigo sobre los últimos avances tecnológicos.
Related Post