Aprender Nginx

¿Qué es Nginx?

  • Historia y evolución
  • Comparativa con otros servidores web (Apache, IIS)
  • Casos de uso de Nginx

Instalación de Nginx

  • Instalación en Linux (Ubuntu/Debian, CentOS)
  • Instalación en Windows
  • Verificación de la instalación

Primeros pasos con Nginx

  • Iniciar y detener el servicio
  • Comprobación del estado del servidor
  • Introducción a la estructura de archivos de Nginx
  • Primer sitio web con Nginx

Entendiendo la configuración de Nginx

  • El archivo nginx.conf
  • Sintaxis básica de configuración
  • Servidores virtuales: bloques server

Configuración de hosts virtuales

  • Configuración de múltiples sitios
  • Enlaces simbólicos para sitios habilitados y disponibles
  • Gestión de múltiples dominios

Logs en Nginx

  • Logs de acceso y de errores
  • Personalización de los formatos de logs
  • Rotación de logs y buenas prácticas

Nginx como proxy inverso

  • Introducción al concepto de proxy inverso
  • Configuración básica
  • Proxy inverso para aplicaciones Node.js, Python, etc.

Balanceo de carga con Nginx

  • Tipos de balanceo de carga: Round Robin, Least Connections, IP Hash
  • Configuración básica de balanceo de carga
  • Uso de health checks para servidores backend

Manejo de SSL/TLS en Nginx

  • Conceptos básicos de SSL/TLS
  • Configuración de HTTPS
  • Certificados SSL gratuitos con Let’s Encrypt
  • Mejores prácticas para la seguridad SSL

Redirecciones y reescrituras de URL

  • Uso de rewrite y return
  • Redirecciones 301 y 302
  • Reescritura de URLs complejas

Optimización de rendimiento

  • Caché de contenido estático
  • Compresión gzip
  • Optimización de tiempos de carga y uso de recursos

Seguridad en Nginx

  • Limitar accesos por IP
  • Protección contra ataques DDoS
  • Configuración de seguridad con headers HTTP (CORS, X-Frame-Options, HSTS)
  • Autenticación básica con Nginx

Configuración de Nginx para alta disponibilidad

  • Configuración de Nginx con sistemas de alta disponibilidad (HA)
  • Uso de upstream y failover

Nginx con WordPress y otros CMS

  • Configuración de Nginx para WordPress
  • Optimización para CMS populares

Nginx con Docker

  • Implementación de Nginx en contenedores Docker
  • Creación de imágenes personalizadas

Soluciones a problemas comunes

  • Errores 502/504: Gateway Timeout
  • Errores 413: Payload Too Large
  • Diagnóstico y solución de problemas comunes

Despliegue y monitoreo de Nginx

  • Buenas prácticas para el despliegue
  • Monitoreo de Nginx con herramientas como Prometheus y Grafana

Actualización y mantenimiento

  • Actualización segura de Nginx
  • Gestión de módulos y extensiones