Nginx vs Apache en 2026: cuál elegir y por qué
Comparativa práctica entre Nginx y Apache HTTP Server: arquitectura, rendimiento, casos de uso y cuál instalar para tu próximo proyecto.
El estado del mercado
Según W3Techs (mid-2026), Nginx sirve alrededor del 34% de los sitios web, Apache el 20% y Cloudflare/LiteSpeed el resto. Hace 15 años Apache tenía el 65%; el cambio no es casual, sino consecuencia de una diferencia arquitectónica que se nota bajo carga.
Arquitectura: procesos vs event loop
Apache HTTP Server (2.4) sigue un modelo tradicional: un worker (proceso o thread) por conexión. Es simple y funciona bien con carga baja o media, pero cada conexión consume memoria (30-50 MB por proceso con mpm_prefork; menos con mpm_event). Con 10 000 conexiones concurrentes te vas a decenas de GB.
Nginx usa un event loop asíncrono: unos pocos workers gestionan miles de conexiones cada uno mediante epoll / kqueue. La memoria por conexión es de kilobytes, no megabytes. Es lo que hace posible servir 100 k+ conexiones concurrentes en hardware modesto.
Configuración: filosofías opuestas
Apache ofrece flexibilidad por directorio con .htaccess: cada carpeta puede redefinir reglas sin reiniciar. Cómodo en hosting compartido, pero costoso: cada petición lee todos los .htaccess del path.
Nginx rechaza esa filosofía. La config es central (/etc/nginx/), se recarga con nginx -s reload (graceful, sin cortar peticiones). No hay .htaccess. Es más rígido pero mucho más rápido y auditable.
Módulos y funcionalidad
Apache tiene un ecosistema enorme de módulos cargables en caliente (mod_php, mod_rewrite, mod_wsgi). Nginx compila los módulos al build; los "dynamic modules" existen pero son limitados. En la práctica ambos cubren el 95% de casos: HTTP/2, HTTPS, reverse proxy, load balancing, autenticación básica, rewrite, gzip/brotli.
Rendimiento real
Benchmarks públicos (TechEmpower, Netcraft) muestran que Nginx aguanta ~2-3x más req/s que Apache en escenarios de contenido estático o proxy inverso. En dinámico (PHP-FPM), la diferencia se estrecha porque el cuello de botella pasa a ser el intérprete.
Regla útil: para <1 000 req/s prácticamente da igual. Por encima, elige Nginx.
Cuándo elegir Apache
- Hosting compartido con .htaccess — WordPress, Drupal, Joomla con reglas de rewrite por cliente.
- Módulos específicos —
mod_wsgipara Python legacy, integración con Kerberos víamod_auth_kerb. - Ecosistema al que estás acostumbrado — no hay que cambiar por moda.
Cuándo elegir Nginx
- API o SPA moderna — reverse proxy delante de Node/Python/Go.
- Alto tráfico — miles de conexiones concurrentes.
- Terminación TLS y balanceo de un pool de backends.
- Servir estáticos — Nginx es especialmente eficiente con
sendfile.
Alternativas modernas
- Caddy — HTTPS automático (Let's Encrypt integrado), config trivial. Ideal para proyectos personales y pequeñas apps.
- Traefik — reverse proxy con auto-discovery en Docker/K8s. Fantástico como ingress en entornos contenedorizados.
- HAProxy — TCP/HTTP load balancer de altísimo rendimiento. Suele ir delante de Nginx en arquitecturas grandes.
Configuración mínima Nginx moderna
Vhost HTTPS con HTTP/2, HSTS y proxy_pass:
server {
listen 443 ssl http2;
server_name miapp.com;
ssl_certificate /etc/letsencrypt/live/miapp.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/miapp.com/privkey.pem;
ssl_protocols TLSv1.2 TLSv1.3;
add_header Strict-Transport-Security "max-age=63072000; includeSubDomains" always;
location / {
proxy_pass http://127.0.0.1:3000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
server {
listen 80;
server_name miapp.com;
return 301 https://$host$request_uri;
}
Genera esto y más con nuestro generador de Nginx o su equivalente VirtualHost Apache con las mismas buenas prácticas.
Veredicto
Si empiezas un proyecto nuevo en 2026, Nginx es la opción por defecto para 90% de casos: web estática, API detrás de un backend, balanceo. Apache sigue siendo apropiado cuando dependes de .htaccess o módulos específicos. Ambos son estables, seguros y mantenidos activamente. La discusión "cuál es mejor" es menos interesante que "cuál encaja con lo que necesitas".
Herramientas relacionadas
Genera bloques server, proxy inverso y SSL con Let's Encrypt listos para producción.
Configura VirtualHosts con SSL, redirects 80→443 y logs personalizados.
Genera comandos openssl comunes (clave, CSR, autofirmado, conversión) de forma visual.