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
yreturn
- 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
yfailover
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