Creación y configuración de un nuevo dominio con Nginx

Pasos para preparar un nuevo dominio con Nginx en sistemas Debian.

Requerimientos

  • Sistema Operativo Debian versión 9 (Stretch)
  • Tener instalado Nginx

1. Ubicación del dominio

Crea la estructura del sitio.

sudo mkdir -p /var/www/your_domain.com/html

Asigna permisos adecuados.

sudo chown -R $USER:$USER /var/www/your_domain.com/html
sudo chmod -R 755 /var/www/your_domain.com

Crea el archivo index.html para mostrar una página de prueba.

nano /var/www/your_domain.com/html/index.html

index.html

<html>
  <head>
    <title>Welcome to your_domain.com!</title>
  </head>
  <body>
    <h1>Success! The your_domain.com server block is working!</h1>
  </body>
</html>

2. Configuración en Nginx

Crea el archivo de configuración del sitio.

sudo nano /etc/nginx/sites-available/your_domain.com

your_domain.com

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

    root /var/www/your_domain.com/html;
    index index.html index.htm index.nginx-debian.html;

    server_name your_domain.com www.your_domain.com;

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

Activa el sitio mediante un enlace simbólico.

sudo ln -s /etc/nginx/sites-available/your_domain.com /etc/nginx/sites-enabled/

Para evitar problemas de memoria con dominios largos, ajusta nginx.conf.

sudo nano /etc/nginx/nginx.conf

Busca server_names (CTRL + W) y descomenta la línea.

nginx.conf

http {
    ...
    # server_tokens off;

    server_names_hash_bucket_size 64;
    # server_name_in_redirect off;
    ...
}

Guarda con CTRL + O, confirma con Enter y cierra con CTRL + X.

Verifica la sintaxis con el siguiente comando:

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

Reinicia el servicio de Nginx.

sudo systemctl restart nginx

3. Configuración adicional para un dominio local

Para uso local, añade el dominio en el archivo hosts.

sudo nano /etc/hosts

hosts

127.0.0.1       localhost
127.0.1.1       debian

127.0.0.1       your_domain.com

4. Verificación

Visita http://your_domain.com desde el navegador o usa curl.

curl http://your_domain.com
<html>
  <head>
    <title>Welcome to your_domain.com!</title>
  </head>
  <body>
    <h1>Success! The your_domain.com server block is working!</h1>
  </body>
</html>

Referencias

Publicado: 6 de junio de 2020