Realmente depende de lo que estés haciendo.
Si solo tiene contenido estático, no necesita Apache. nginx o lighttpd te servirían muy bien.
Si tiene una combinación de estática y dinámica (bueno, Perl o PHP), pero un sitio pequeño, puede seguir adelante con una de esas alternativas más FastCGI, o simplemente lanzar todo en Apache.
Si está sirviendo Ruby junto con su contenido estático, mod_passenger
en Apache debería servirle bien, con nginx / lighttpd / etc sirviendo su contenido estático.
Para Python (mi área de especialización), puede usar Apache mod_python
si lo desea, pero prepárese para la lentitud. mod_wsgi
es mejor, pero aún tiene la sobrecarga de Apache, lo cual está bien si tiene mucho tráfico dinámico pesado . Apache es un levantador pesado la mayor parte del tiempo.
Si usted no tiene una tonelada de tráfico pesado, mirada en nuevos sistemas como gunicorn
o uWSGI
, o el todo-en-uno Cherokee servidor para manejar su Python. Cherokee también maneja archivos estáticos. El resto, aún querrás usar nginx / lighttpd para servir el contenido estático.
Java y otros lenguajes, no tengo ni idea.
Sin embargo, lo mejor de usar nginx es que es increíblemente configurable. Configure un par de servidores estáticos con diferentes subdominios, uno para CSS, imágenes y JS. De esa manera, ayuda a evitar el límite de 2 archivos por dominio a la vez. Configure varios servidores y luego configure un proxy / equilibrador de carga nginx frente a ellos para asegurarse de que todo su contenido estático esté siempre disponible.
Básicamente, SÍ, ¡mira más que solo Apache!