Configurar un nuevo sitio web en NGINX
Source: Dev.to
Preparación
# Crear el directorio del sitio
sudo mkdir -p /var/www/{your-domain}/
Asignar propietario y permisos
# Asignar el usuario dueño del directorio
sudo chown -R $USER:$USER /var/www/{your-domain}/
# Asignar permisos
sudo chmod -R 755 /var/www/{your-domain}/
Crear un archivo index.html de prueba
sudo nano /var/www/{your-domain}/index.html
Contenido del archivo index.html:
Welcome to your-domain!
## Success! The your-domain server block is working!
Configurar un server block en NGINX
Crea un nuevo archivo de configuración en /etc/nginx/sites-available/{your-domain}:
sudo nano /etc/nginx/sites-available/{your-domain}
Ejemplo de configuración:
server {
listen 80;
listen [::]:80;
root /var/www/your_domain;
index index.html index.htm index.nginx-debian.html;
server_name your_domain www.your_domain;
location / {
try_files $uri $uri/ =404;
}
}
Habilitar el sitio
Crea un enlace simbólico desde sites-available a sites-enabled:
sudo ln -s /etc/nginx/sites-available/your_domain /etc/nginx/sites-enabled/
NGINX utiliza enlaces simbólicos (symlinks) para determinar qué bloques de servidor están habilitados. Puedes eliminar el enlace en
sites-enabledsin borrar el archivo original ensites-available.
Ajustar server_names_hash_bucket_size (si es necesario)
Edita el archivo principal de configuración:
sudo nano /etc/nginx/nginx.conf
Descomenta (elimina #) la línea que contiene server_names_hash_bucket_size si está comentada.
Verificar la configuración y reiniciar NGINX
# Verificar que no haya errores de sintaxis
sudo nginx -t
# Reiniciar el servicio
sudo systemctl restart nginx