¿Cuál es el mejor servidor web para entregar contenido estático?

Si necesita el mejor servicio estático, debe agregar una capa adicional sobre su servidor web. Es cierto que Nginx supera a Apache cualquier día, pero en mi opinión eso todavía no es suficiente si realmente quieres ir a la optimización extrema.

Yo personalmente recomendaría Varnish para almacenar en caché no solo sus CSS / JS / Images sino también las páginas dinámicas que no se modifican con frecuencia. La diferencia entre Varnish y los servidores web es que el primero almacena el contenido más solicitado en la memoria (RAM) y todo lo demás se arroja a los discos si selecciona “archivo” para el almacenamiento.

Esto le ahorrará muchos recursos, como IO y CPU, servidores de su contenido a la velocidad de la luz, manejará más tráfico y, por supuesto, reducirá sus gastos.

Algunas caracteristicas:
– Equilibrador de carga con conmutación por error.
– Con el comprobador de estado activado, seguirá sirviendo su contenido en caché cuando su servidor de producción se caiga.
– Varnish Configuration Language (VCL) lo hace muy personalizable.

Hemos estado usando Varnish por más de un año y hasta ahora ha estado haciendo un gran trabajo. Creo que deberías intentarlo.

Definitivamente deberías ir con Nginx. En mi experiencia, superó a cualquier otro servidor web en la entrega de contenido estático.

Déjame ponerlo en contexto:
Dirigimos un sitio web que tenía más de un millón de visitantes por día. Tenía más de 10 000 solicitudes de activos (css / js / images) por segundo. Cuando se ejecutó por primera vez en Apache2, el uso de la CPU estaba llegando al 100% y, a veces, el servidor no cumplía con la demanda, por lo que algunas imágenes nunca se enviaron y algunos visitantes no tenían imágenes en el sitio web.

Pocos días después cambiamos exactamente el mismo servidor a Nginx (y agregamos opciones de almacenamiento en caché públicas y privadas). Mágicamente, el uso de la CPU cayó del 100% al 0.1%, ¡no pregunte cómo! ¡acaba de suceder! Y ahora teníamos un servidor de alta velocidad enviando nuestros activos.

No cambiamos servidores, ni hardware, ni nada complicado, solo reemplazamos Apache2 con Nginx y listo, nuestro sitio web estaba volando.

Así que no busques más, Nginx o algo similar, pero olvídate de Apache2.

NB: este servidor SOLO sirvió activos y contenido estático

No puedo recomendar nginx lo suficiente, es increíblemente rápido y muy fácil de configurar y configurar. Use nginx como interfaz y pase su php nuevamente a apache, ya que php-fpm no es tan confiable. También recomendaría buscar en http://wiki.nginx.org/HttpProxyM … (la sección sobre proxy_cache) que nos ha ayudado a reducir el tiempo de carga de un sitio a ~ 700ms.