Linux en español
Tutoriales

Cómo configurar bloques de servidor Nginx en Debian 10

bloques nginx 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.

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.

Entradas relaccionadas

Cómo instalar VestaCP en Linux

Diego García Cuesta

Cómo eliminar automáticamente archivos antiguos de la Papelera en Linux

Linux en Español

Downgrade: Cómo volver a una versión previa de un programa

Linux en Español

Cómo instalar un sistema operativo en una Raspberry Pi

Diego García Cuesta

Cómo instalar MySQL en Ubuntu

Diego García Cuesta

Cómo permitir conexiones remotas en MySQL Server

Diego García Cuesta