Introducción

Con Nginx Server Blocks, los administradores web pueden ejecutar varios sitios web en un VPS o servidor dedicado.

Los bloques de servidor le permiten encapsular los detalles de la configuración web, lo que facilita el uso de diferentes certificados SSL, crea una política de seguridad única y establece la raíz del documento para cada sitio web.

Este tutorial le ayudará a configurar los bloques del servidor Nginx en su servidor Debian 9.

Antes de que empieces

Para que este tutorial se desarrolle sin problemas, necesitará lo siguiente:

  • Nginx instalado en su servidor Debian 9 en un servicio que admite hosting Linux
  • Un dominio que apunta al servidor Debian. Aprovecharemos example.com como nombre de dominio en nuestro tutorial; Recuerde reemplazar este nombre con su nombre de dominio único.

Si todo está bien, ¡comencemos!

Paso 1: crea una estructura de documento

Al configurar bloques de servidor Nginx, primero crea una estructura de directorio (raíz del documento). La raíz del documento es un lugar donde los archivos web de su dominio se almacenan y se muestran con cada solicitud. Puede estructurar el directorio raíz de su documento (directorio principal) para que esté ubicado en cualquier lugar de su sistema.

En nuestro tutorial tenemos la siguiente estructura para el directorio raíz:

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

Si aloja varios dominios, debe crear una estructura de directorio independiente para cada dominio. Aquí estamos creando un directorio raíz para el nombre de dominio y alojándolo en el directorio. / var / www. Eso significa que vamos a crear un directorio llamado public_html, en el directorio principal, / var / www. La public_html es un directorio que se utiliza para almacenar los archivos del sitio web para cada dominio.

Inicie sesión en su servidor Debian 9 y ejecute el siguiente comando:

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

El comando anterior crea un directorio public_html para el dominio example.com en el directorio principal, / var / www.

A continuación, ejecute el siguiente comando para crear un archivo llamado index.html que está alojado en el directorio public_html.

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

Copie y pegue las siguientes líneas en este archivo:

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

Guarde los cambios y salga del editor de texto.

Ahora ingrese el siguiente comando para tomar posesión de la raíz de su documento en un archivo. Transferido a www datos (Usuarios de Nginx). Esto evita que se produzcan problemas de autorización:

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

Paso 2: crea un bloque de servidor Nginx

El sistema Debian 9 almacena los archivos de configuración para los bloques del servidor Nginx en el directorio, / etc / nginx / sites-available. Estos archivos de configuración están activados para otro directorio / etc / nginx / sites-enabled /, a través de enlaces simbólicos.

Para crear un archivo para el bloque del servidor Nginx, ingrese el siguiente comando

$ sudo nano /etc/nginx/sites-available/example.com.conf

Copie y pegue el siguiente contenido en el archivo:

server {
    listen80;
    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 los cambios y salga del editor de texto.

Nota: nosotros usamos example.com.conf como el nombre de nuestro archivo de configuración. Puede darle otro nombre a este archivo, pero es recomendable utilizar su dominio como nombre de archivo.

El archivo de configuración ahora está listo, pero activado. Para activar este archivo, ejecute el siguiente comando:

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

A continuación, ejecute el siguiente comando para verificar que el formato de este archivo de configuración sea correcto:

$ sudo nginx -t

Si todo se implementa correctamente, obtendrá un resultado similar al siguiente:

nginx: the configuration file /etc/nginx/nginx.confsyntax is ok
nginx: configuration file /etc/nginx/nginx.conftest is successful

Ahora emita el siguiente comando para reiniciar Nginx e implementar los cambios que realizó:

$ sudo systemctl restart nginx

Para comprobar que el nuevo bloque de servidor funciona correctamente, abra su sitio web con su navegador preferido. Si el bloque del servidor se está ejecutando correctamente, recibirá este mensaje:

Cómo configurar bloques de servidor Nginx en Debian 9

Conclusión

¡Eso es! Ha creado y configurado correctamente un bloque de servidor Nginx en su servidor Debian 9. Siga los pasos anteriores para configurar un bloque de servidor para cada uno de los otros dominios.