Nginx y Apache son los dos servidores web más usados del mundo. Juntos alimentan más del 60% de todos los sitios web.
¿Cuál elegir para tu VPS? Depende de tu caso de uso. Apache es el veterano flexible. Nginx es el moderno eficiente. Y hay una tercera opción que combina lo mejor de ambos.
Esta guía te ayuda a elegir con criterio.
La historia en 30 segundos
Apache (1995): El servidor web original. Dominó internet durante 20 años. Flexible, extensible, con módulos para todo.
Nginx (2004): Creado para resolver los problemas de rendimiento de Apache con alto tráfico. Arquitectura moderna, eficiente con recursos.
Cuota de mercado 2026:
- Nginx: ~34%
- Apache: ~29%
- Cloudflare Server: ~22%
- Otros: ~15%
Nginx superó a Apache en 2019 y la diferencia sigue creciendo.
Arquitectura: la diferencia fundamental
Apache: un proceso por conexión
Apache tradicional (prefork) crea un proceso para cada conexión:
Conexión 1 → Proceso 1 (10MB RAM)
Conexión 2 → Proceso 2 (10MB RAM)
Conexión 3 → Proceso 3 (10MB RAM)
...
1000 conexiones → 1000 procesos → 10GB RAM
Con MPM Event mejora, pero sigue siendo menos eficiente que Nginx.
Nginx: event-driven asíncrono
Nginx usa un modelo de eventos con pocos workers:
Worker 1 → Maneja miles de conexiones
Worker 2 → Maneja miles de conexiones
Worker 3 → Maneja miles de conexiones
Worker 4 → Maneja miles de conexiones
10.000 conexiones → 4 workers → ~50MB RAM
Un worker de Nginx puede manejar miles de conexiones simultáneas.
Resultado práctico
| Escenario | Apache (prefork) | Nginx |
|---|---|---|
| 100 conexiones | ~1GB RAM | ~20MB RAM |
| 1.000 conexiones | ~10GB RAM | ~50MB RAM |
| 10.000 conexiones | Imposible | ~100MB RAM |
Nginx escala mucho mejor con conexiones concurrentes.
Comparativa detallada
Rendimiento
| Aspecto | Apache | Nginx | Ganador |
|---|---|---|---|
| Contenido estático | Bueno | Excelente | Nginx |
| Contenido dinámico | Bueno | Bueno* | Empate |
| Conexiones concurrentes | Limitado | Excelente | Nginx |
| Uso de RAM | Alto | Bajo | Nginx |
| Uso de CPU | Moderado | Bajo | Nginx |
*Nginx pasa PHP a PHP-FPM, rendimiento similar al final.
Configuración
| Aspecto | Apache | Nginx |
|---|---|---|
| Sintaxis | Directivas XML-like | Bloques tipo C |
| .htaccess | Sí (por directorio) | No |
| Recarga | Requiere restart | Reload sin downtime |
| Curva aprendizaje | Más fácil | Más difícil |
Ejemplo: misma configuración
Apache (.htaccess o vhost):
<VirtualHost *:80>
ServerName ejemplo.com
DocumentRoot /var/www/ejemplo
<Directory /var/www/ejemplo>
AllowOverride All
Require all granted
</Directory>
# Rewrite para WordPress
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</VirtualHost>
Nginx:
server {
listen 80;
server_name ejemplo.com;
root /var/www/ejemplo;
index index.php;
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.3-fpm.sock;
}
}
La sintaxis de Nginx es más concisa pero menos intuitiva al principio.
El tema de .htaccess
Apache: flexibilidad por directorio
Apache lee archivos .htaccess en cada directorio. Esto permite:
- Configuración sin acceso al servidor
- Cambios instantáneos sin reload
- Ideal para hosting compartido
Pero tiene coste: Apache busca .htaccess en cada petición, en cada directorio del path.
Nginx: configuración centralizada
Nginx no soporta .htaccess. Toda la configuración está en archivos del servidor.
Ventajas:
- Más rápido (no busca archivos en cada petición)
- Configuración más segura
- Más fácil de auditar
Desventajas:
- Necesitas acceso al servidor para cambios
- Requiere reload (aunque sin downtime)
Implicación práctica
Si usas WordPress u otras apps que dependen de .htaccess:
- Apache: Funciona out of the box
- Nginx: Debes convertir las reglas manualmente
Herramientas como htaccess to nginx converter ayudan.
Módulos y extensibilidad
Apache: módulos dinámicos
Apache carga módulos dinámicamente:
# Activar módulo
sudo a2enmod rewrite
sudo a2enmod ssl
sudo systemctl reload apache2
Módulos populares:
- mod_rewrite (URL rewriting)
- mod_ssl (HTTPS)
- mod_security (WAF)
- mod_php (PHP integrado)
Nginx: módulos compilados
Nginx requiere recompilación para añadir módulos (en la mayoría de casos):
# Ver módulos compilados
nginx -V
Módulos importantes:
- ngx_http_ssl_module (HTTPS)
- ngx_http_v2_module (HTTP/2)
- ngx_http_gzip_module (compresión)
En la práctica, los paquetes de distribución incluyen los módulos más usados.
PHP: la gran diferencia
Apache + mod_php
Apache puede ejecutar PHP directamente con mod_php:
Petición → Apache → mod_php → Respuesta
Simple pero ineficiente: cada proceso Apache carga PHP aunque sirva archivos estáticos.
Nginx + PHP-FPM
Nginx pasa las peticiones PHP a un proceso separado:
Petición PHP → Nginx → PHP-FPM → Respuesta
Petición estática → Nginx → Respuesta directa
Más eficiente: PHP solo se usa cuando es necesario.
Apache moderno + PHP-FPM
Apache también puede usar PHP-FPM (y debería):
sudo a2dismod php8.3
sudo a2enmod proxy_fcgi
sudo a2enconf php8.3-fpm
Esto iguala el rendimiento con Nginx para PHP.
Casos de uso
Elige Nginx si:
- Alto tráfico: Miles de conexiones simultáneas
- Recursos limitados: VPS pequeño, necesitas eficiencia
- Contenido estático: Muchos archivos, imágenes, assets
- Reverse proxy: Frontend para backends (Node, Python, etc.)
- Microservicios: Balanceo de carga, routing
- Modernidad: Quieres HTTP/2, HTTP/3 nativo
Elige Apache si:
- Hosting compartido: Necesitas .htaccess
- Aplicaciones legacy: Software que depende de Apache
- Familiaridad: Ya lo conoces bien
- Módulos específicos: mod_security, mod_pagespeed, etc.
- Configuración per-directory: Múltiples usuarios/sitios con control independiente
La tercera opción: Nginx + Apache
Puedes usar ambos:
Internet → Nginx (frontend) → Apache (backend)
- Nginx sirve estáticos y hace proxy
- Apache procesa PHP y apps que lo requieren
Es común en migraciones graduales.
LiteSpeed: el tercer contendiente
LiteSpeed es un servidor web compatible con Apache pero con rendimiento de Nginx:
| Característica | LiteSpeed |
|---|---|
| Compatible .htaccess | Sí |
| Rendimiento | Superior a Nginx |
| mod_rewrite | Compatible |
| LSCache | Caché integrada (mejor que Varnish) |
| HTTP/3 QUIC | Nativo |
La mejor opción si:
- Quieres compatibilidad Apache + rendimiento Nginx
- Usas WordPress (LiteSpeed Cache es el mejor plugin)
- No quieres complicarte con configuración
Los VPS de Avantys ofrecen LiteSpeed como opción.
Instalación y configuración básica
Instalar Nginx
sudo apt update
sudo apt install nginx -y
sudo systemctl enable nginx
sudo systemctl start nginx
Configuración en /etc/nginx/sites-available/.
Instalar Apache
sudo apt update
sudo apt install apache2 -y
sudo systemctl enable apache2
sudo systemctl start apache2
Configuración en /etc/apache2/sites-available/.
Configuración óptima Nginx
/etc/nginx/nginx.conf:
worker_processes auto;
worker_rlimit_nofile 65535;
events {
worker_connections 65535;
multi_accept on;
use epoll;
}
http {
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 30;
gzip on;
gzip_vary on;
gzip_types text/plain text/css application/json application/javascript;
}
Configuración óptima Apache
Usa MPM Event en lugar de Prefork:
sudo a2dismod mpm_prefork
sudo a2enmod mpm_event
sudo systemctl restart apache2
/etc/apache2/mods-available/mpm_event.conf:
<IfModule mpm_event_module>
StartServers 4
MinSpareThreads 25
MaxSpareThreads 75
ThreadLimit 64
ThreadsPerChild 25
MaxRequestWorkers 400
MaxConnectionsPerChild 10000
</IfModule>
Migrar de Apache a Nginx
Paso 1: Mapear configuración
| Apache | Nginx |
|---|---|
| VirtualHost | server block |
| DocumentRoot | root |
| DirectoryIndex | index |
| RewriteRule | try_files / rewrite |
| .htaccess | Configuración en server block |
Paso 2: Convertir rewrites
Apache:
RewriteRule ^blog/(.*)$ /index.php?p=$1 [L]
Nginx:
rewrite ^/blog/(.*)$ /index.php?p=$1 last;
O mejor, usa try_files:
location /blog/ {
try_files $uri $uri/ /index.php?p=$uri&$args;
}
Paso 3: Probar antes de cambiar
Corre Nginx en puerto alternativo (8080), prueba todo, luego cambia.
Rendimiento real: benchmarks
Archivos estáticos (requests/segundo)
| Servidor | 1KB | 10KB | 100KB |
|---|---|---|---|
| Nginx | 45.000 | 42.000 | 18.000 |
| Apache (event) | 28.000 | 25.000 | 12.000 |
| Apache (prefork) | 12.000 | 10.000 | 5.000 |
Nginx gana claramente en estáticos.
PHP (WordPress, requests/segundo)
| Servidor | Sin caché | Con caché |
|---|---|---|
| Nginx + PHP-FPM | 150 | 2.500 |
| Apache + PHP-FPM | 140 | 2.300 |
| Apache + mod_php | 120 | 2.000 |
Con PHP-FPM, la diferencia es mínima. La caché importa más.
Preguntas frecuentes
¿Nginx es más seguro que Apache?
Ambos son seguros si están bien configurados. Nginx tiene menos superficie de ataque por su arquitectura más simple.
¿Puedo usar ambos en el mismo servidor?
Sí, en puertos diferentes. Es común usar Nginx como proxy y Apache como backend.
¿WordPress funciona mejor con Nginx o Apache?
Similar si ambos usan PHP-FPM. La diferencia la hace la caché (LiteSpeed Cache, Redis, etc.).
¿Cuál consume menos recursos?
Nginx, significativamente. Especialmente con muchas conexiones simultáneas.
¿Es difícil migrar de Apache a Nginx?
Moderadamente. Lo más laborioso es convertir reglas de .htaccess. Hay herramientas que ayudan.
Nuestra recomendación
Para la mayoría de casos: Nginx. Más eficiente, moderno, mejor con recursos limitados de VPS.
Si necesitas .htaccess: LiteSpeed (compatible Apache, rendimiento Nginx) o Apache con MPM Event + PHP-FPM.
Si ya usas Apache y funciona: No migres solo por migrar. Optimiza con MPM Event y PHP-FPM.
Para máximo rendimiento: LiteSpeed, especialmente si usas WordPress.
Conclusión
Nginx gana en eficiencia y rendimiento bruto. Apache gana en flexibilidad y compatibilidad. LiteSpeed combina lo mejor de ambos.
Para un VPS nuevo, Nginx es la opción por defecto más sensata. Si vienes de Apache y todo funciona, optimízalo en lugar de migrar. Y si quieres lo mejor sin complicaciones, considera LiteSpeed.
El servidor web importa, pero la caché y la optimización importan más. Un Apache bien configurado supera a un Nginx mal configurado.
¿Quieres un VPS con el servidor web óptimo preconfigurado? Explora los VPS de Avantys con Nginx o LiteSpeed optimizado.
Guías relacionadas
- Optimizar el rendimiento de tu VPS
- Caché en VPS: Redis, Memcached y OPcache
- Migrar tu web a VPS
- Mejor VPS para WordPress
¿Quieres la guía completa con todos los casos de uso?
¿Quieres que lo hagamos por ti?
En Avantys gestionamos tu web, hosting y crecimiento digital de punta a punta. Tú a lo importante.