Se dice que Nginx es mucho más eficiente en recursos y más fácil de configurar que Apache. Un amigo me dijo que "no puede hacer algunas cosas que puede hacer Apache, pero no las necesito de todos modos".
Aún así, tengo curiosidad: ¿qué tipo de cosas puede hacer Apache que Nginx no puede hacer? No necesito una lista exhaustiva, solo una idea general de escenarios en los que Apache sería una mejor opción.
fuente
Apache tiene una gran cantidad de módulos disponibles que permiten algunos escenarios de implementación que no son posibles con Nginx.
Un ejemplo es
mod_dav_svn
para alojar Subversion a través de HTTP. Es solamente disponible para Apache. Otros ejemplos notables son cosas comomod_perl
omod_php
. Si bien la mayoría de las configuraciones tradicionales también se pueden hacer a través de FCGI (o WSGI, o pasajero), tener un intérprete real en proceso puede ser beneficioso si necesita, por ejemplo, implementar esquemas de autenticación personalizados dentro del servidor web (como se hace para el alojamiento git o svn con Proyecto Redmine / Chili).En general, su amigo tiene razón: los escenarios de implementación más comunes también se pueden resolver con nginx, pero Apache aún es más flexible si tiene que construir algunas cosas más "especiales".
fuente
La versión corta de la historia es que Apache tiene muchos complementos y una comunidad construida alrededor. Nginx solo ha existido por un corto tiempo comparativamente, por lo que aún no tiene la base de código de la comunidad.
Cuando la gente me pregunta cuál es la diferencia, Nginx es un cuchillo para carne, es bueno para una variedad de usos y hace algunas cosas extremadamente bien. Apache es una navaja suiza, tiene un montón de características diferentes y las cumple razonablemente bien.
fuente
Muchos módulos y una base instalada ginourmous, para empezar. Pero no es exactamente lo que tiene Apache lo que debería mirar, es lo que hace Apache : funciona mucho mejor para servir contenido dinámico como PHP, Python, Perl, Java, etc.
Por supuesto, también puede hacerlo con Nginx (pero es un poco halagador en mi humilde opinión), pero las soluciones son mucho más probadas y maduras en Apache que en NginX, que a su vez es mucho mejor que Apache en servir cargas altas y un excelente reescritor / proxy inverso.
¡Para cada trabajo, la herramienta adecuada!
fuente