Apache vs nginx: en qué se diferencian y cómo traducir la configuración

Apache vs nginx

Apache vs nginx: procesos, .htaccess y traducción de config | We.Inc

Apache vs nginx comparados en cómo gestionan las conexiones, .htaccess por directorio frente a configuración central, recargas y proxy, con un traductor de reglas de reescritura comunes.

Ambos son servidores web de código abierto maduros. Apache carga módulos sobre un modelo de procesos a elegir (prefork, worker o event) y deja que cada directorio sobrescriba ajustes con archivos .htaccess. nginx ejecuta un proceso maestro y unos pocos workers basados en eventos, solo lee su configuración central y suele colocarse delante de servidores de aplicaciones como proxy inverso.

Apache y nginx lado a lado

Elegir entre ellos depende sobre todo de dónde vive la configuración y de quién puede cambiarla. Esta página omite las cifras de benchmarks, que dependen por completo de la carga de trabajo y del ajuste, y se centra en las diferencias que encuentras al mantener un sitio: cómo gestiona cada servidor las conexiones, por qué existe .htaccess y cómo se traducen las reglas de reescritura que ya tienes. Usa el traductor para ver la versión nginx de una regla de Apache conocida.

Preguntas frecuentes

¿Es nginx más rápido que Apache?

Depende de la tarea y del ajuste, así que desconfía de cualquier cifra aislada. Los workers de nginx basados en eventos están diseñados para mantener muchas conexiones inactivas con poco coste. El MPM event de Apache redujo esa diferencia usando también sondeo seguro para hilos. Mide tu propia carga de trabajo antes de cambiar solo por velocidad.

¿nginx admite archivos .htaccess?

No. nginx no tiene archivos de sobrescritura por directorio, así que las reglas de un .htaccess deben pasarse a la configuración del servidor y recargar nginx. Es un intercambio deliberado: no hay búsquedas de archivos en cada petición, pero solo quien tiene acceso a la configuración principal puede cambiar las reglas.

¿Puedo convertir .htaccess a nginx automáticamente?

Las redirecciones y los fallbacks sencillos se traducen sin problemas, como muestra el traductor de esta página. Las cadenas largas de RewriteCond con flags como [P] o variables de entorno necesitan que alguien las lea, porque nginx expresa la misma intención con piezas distintas.

¿Cuál elijo para un sitio WordPress o PHP?

Si tu hosting solo te da acceso a archivos, Apache con .htaccess es lo único que te permite cambiar reglas. En un servidor que controlas, cualquiera de los dos funciona con PHP-FPM; en nginx escribes el fallback de URL amigables una sola vez con try_files en el bloque server.

¿Cómo recargo la configuración sin cortar conexiones?

En nginx, ejecuta nginx -s reload: el maestro comprueba la nueva configuración, arranca workers nuevos y pide a los antiguos que terminen de forma ordenada. En Apache, apachectl graceful hace lo equivalente con sus procesos hijo.

Los modelos de procesos en lenguaje sencillo

Por qué importa .htaccess

El mismo sitio en ambos servidores

Virtual host de Apache

Archivos estáticos desde una carpeta más un fallback para SPA, configurado en el vhost para no necesitar .htaccess.

Bloque server de nginx

El mismo comportamiento: carpeta raíz, fallback con try_files y una página de error personalizada.

Forzar HTTPS

Apache comprueba el flag HTTPS; nginx usa un server aparte en el puerto 80 que solo redirige.

Enviar el dominio sin www a www

La documentación de nginx recomienda un bloque server dedicado con return en lugar de un if sobre el host.

Fallback para aplicaciones de una sola página

Sirve los archivos reales cuando existen e index.html para cualquier otra ruta.

Redirigir una página antigua

Redirect de mod_alias no necesita el motor de reescritura; nginx coincide con la ruta exacta mediante location =.

Página 404 personalizada

Ambos apuntan el error a una página del mismo sitio.

Proxy de /api hacia un servidor de aplicaciones

Apache necesita mod_proxy y mod_proxy_http cargados, con barras finales coincidentes en ambos argumentos; el proxy de nginx viene integrado.

Bloquear archivos ocultos como .git

Evita que se sirvan archivos cuyo nombre empieza por un punto.

Añadir una cabecera de seguridad

Con always, ambos servidores añaden la cabecera también a las respuestas de error, no solo a las correctas.

Filtrar tareas

https, proxy, 404...

Apache (.htaccess o virtual host)

nginx (bloque server)

Ninguna tarea coincide con ese filtro.

Empieza gratis · Sin tarjeta de crédito

Relacionado: Guías

Producto

Para quién es

Funciones

Recursos

Empresa

Mapa del sitio