📚 Documentación Técnica

Guía de Despliegue y Comandos en Nginx

Sigue estos pasos en tu servidor Linux (Ubuntu/Debian/CentOS) o contenedor Docker para desplegar este proyecto.

1️⃣ Preparar Directorio y Permisos Terminal Linux

Crea el directorio raíz en /var/www/proyecto1, copia el contenido de esta carpeta y asigna permisos adecuados al usuario de Nginx (www-data o nginx):

bash
sudo mkdir -p /var/www/proyecto1
# Copia los archivos del proyecto a /var/www/proyecto1
sudo cp -r * /var/www/proyecto1/

# Asignar propietario y permisos seguros
sudo chown -R www-data:www-data /var/www/proyecto1
sudo find /var/www/proyecto1 -type d -exec chmod 755 {} \;
sudo find /var/www/proyecto1 -type f -exec chmod 644 {} \;
2️⃣ Activar el Virtual Host (Server Block) Nginx Config

Puedes usar el archivo incluido en nginx/nginx.conf.example para crear tu sitio en sites-available y enlazarlo a sites-enabled:

bash
sudo cp /var/www/proyecto1/nginx/nginx.conf.example /etc/nginx/sites-available/proyecto1

# Crear enlace simbólico para habilitar el sitio
sudo ln -s /etc/nginx/sites-available/proyecto1 /etc/nginx/sites-enabled/

# Probar sintaxis de configuración y recargar
sudo nginx -t
sudo systemctl reload nginx
🔍 Mapa de Archivos del Proyecto y Qué Practicar con Cada Uno Arquitectura
Ruta en el Proyecto Tipo MIME Esperado Directiva Nginx que pone a prueba Comportamiento esperado
/index.html text/html; charset=utf-8 root /var/www/proyecto1; index index.html; Carga el panel principal al acceder a http://tu-ip/.
/docs/index.html text/html try_files $uri $uri/ =404; Permite entrar tanto con /docs/ como con /docs.
/assets/css/styles.css text/css expires 30d; gzip on; Devuelve cabecera Cache-Control: public, max-age=2592000.
/api/health.json application/json location /api/ { add_header Cache-Control "no-store"; } Sirve estado JSON sin guardar en caché del navegador.
/404.html & /50x.html text/html error_page 404 /404.html; internal; Muestra páginas personalizadas y bloquea acceso directo a /50x.html si tiene internal;.