Sugiera un servidor web Linux ultrarrápido, ligero y seguro para servir contenido estático [cerrado]

14

La lista de requisitos imprescindibles:

  • poder servir páginas y archivos HTML estáticos (imágenes, archivos comprimidos, archivos de texto ASCII, etc.) a través de HTTP.
  • Ser conservador de recursos . Utiliza lo que se necesita para enviar datos a través de la red en forma de memoria y CPU, y no mucho más.
  • tener una pequeña huella de instalación.
  • use solo el ancho de banda de red que sea necesario.
  • ser maduro .
  • Ser fácil de configurar.
  • ser compilado en código nativo. Sin Python o Java, etc.

Lo que no necesito:

  • Opciones de configuración complejas. Si es necesario más adelante, cambiaré a Apache httpd.
  • Soporte para ejecutar CGI, Perl, PHP, Java, Server Side incluye u otros "extras".

¿Alguna sugerencia por favor?

p.campbell
fuente
99
Yo diría que es un rayo rápido y cuenta con características seguras del servidor web para Linux. Sin embargo, no estoy seguro de si ese nombre sería popular.
Dominic Rodger
Creo que también pensaron en eso, pero se decidieron con 'nginx'.
Siempre puede usar python: "python -m SimpleHTTPServer", esto servirá el directorio actual en el puerto 8000.
Gert M

Respuestas:

17

Lighttpd viene a la mente.

De acuerdo con los documentos del tutorial de Lighttpd , la configuración de un servidor estático tarda unos 5 minutos:

anon
fuente
Los archivos de configuración tienen una terrible sintaxis en mi humilde opinión.
DanMan
8

Hay muchos pero personalmente me gusta Cherokee. Es relativamente nuevo pero también muy simple de configurar con una interfaz gráfica de usuario incorporada.

Oli
fuente
¿Sigue siendo válido?
BigSack
8

Tal vez sea rechazado porque estas soluciones no están compiladas en código nativo según la lista de "debe tener" de la pregunta, pero para el contenido estático no es mucho más fácil que compartir el directorio actual con un revestimiento de Python one:

python -m SimpleHTTPServer 9914

Tenga en cuenta que el puerto 9914 es arbitrario y simplemente el ejemplo utilizado donde encontré esta solución: http://linux.byexamples.com/archives/506/python-simple-http-server-for-file-sharing

Naturalmente, también puedes hacer esto con Perl:

perl -MIO::All -e 'io(":8080")->fork->accept->(sub { $_[0] < io(-x $1 ? "./$1 |" : $1) if /^GET \/(.*) / })'

. . . como se describe en http://search.cpan.org/~ingy/IO-All-0.39/lib/IO/All.pod#A_Tiny_Web_Server

Philip Durbin
fuente
Con uso de Python-3$ python -m http.server 8000
webwurst
5

El servidor que es exactamente lo que describiste:

  • kHTTPd - en kernel, servidor muy simple. Solo archivos estáticos.

Servidores increíblemente rápidos, que también pueden servir páginas dinámicas si es necesario:

  • LigHTTPd : el servidor creado como prueba de concepto para resolver el problema C10K.
  • nginx : muy popular, a menudo utilizado para la transmisión o como proxy inverso.
vartec
fuente
4

Varios comentaristas han mencionado lighttpd. Otra opción es thttpd.

Plutor
fuente
1
se ve bien, ¿es eso lo que usa Wile E Coyote? ;)
¿Sigue vivo? El último lanzamiento fue en diciembre del 03 y el archivo de la lista de correo se detiene en mayo del 08
JonDrnek
4

Funciones rápidas, seguras, eficientes y bajas: archivo público de Dan Bernstein.

John Weldon
fuente
Utilizamos archivos públicos en varios lugares, incluso para tareas simples como la distribución interna de archivos de configuración de WPAD. Muy rápido, muy simple, siempre funciona.
mikebabcock
3

o kHTTPd: ¿el servidor integrado en el kernel de Linux?

Bryan Childs
fuente
Lo primero que me vino a la mente. No lo he usado, pero he visto la opción allí cada vez que configuro un kernel.
Por cierto, desde el sitio web, "A partir del núcleo 2.3.14, kHTTPd está integrado en el núcleo". Así que ha estado en la cuadra varias veces.
55
Sin embargo, a partir del kernel 2.6, ya no está integrado en el kernel.
MarkR
3

Yo iría con Cherokee aquí. Además, me olvidaría de Apache. Todos crecimos, con cariño, usando apache, divirtiéndonos y mysql. Todos tenemos buenos recuerdos, y todos sabemos cómo usarlo. :)

Eso, sin embargo, es el pasado, teñido a través de lentes color de rosa. Uso gordo de la memoria del asno, procesos gordos, archivos de configuración complejos, intérpretes incrustados ... feh. En la era actual de los VPS, ya nadie necesita un apache gordo. Ama los recuerdos, pero guarda tu RAM para tus aplicaciones.

chiggsy
fuente
2

He estado usando Mathopd durante los últimos 2 años para servir contenido estático [mezcla de imágenes en algún sitio de comercio electrónico + un par de descargas grandes]. sin dolores de cabeza: fácil de configurar, simplemente funciona y deja la CPU al lado de inactivo.

pQd
fuente
2

He tenido excelentes resultados durante años con thttpd , atendiendo frecuentemente más de 250 solicitudes por segundo (y eso fue promediado en el transcurso de una hora), y hasta 400 solicitudes simultáneas. El uso de la memoria es bajo, la estabilidad es extremadamente alta y la carga del sistema es casi nula, incluso con una alta carga requerida / segundo.

Bill the Cat, del condado de Bloom, explica cómo pronunciar thttpd .

Alister Bulman
fuente
1

Es posible que desee echar un vistazo a http://www.lighttpd.net/. No estoy seguro de si es una exageración para sus requisitos.

Alec Smart
fuente
1

Hay un servidor web comercial llamado Zeus que se usa ampliamente en industrias de contenido caracterizadas por contenido estático de alto volumen. IIRC se basa en asíncrono. I / O, que es muy eficiente en la CPU. Puede hacer lo que quieras, pero no es gratis.

Preocupado por TunbridgeWells
fuente
1

Podrías probar okws .

OKWS es un servidor web, especializado para crear servicios web rápidos y seguros. Proporciona a los desarrolladores web un pequeño conjunto de herramientas que ha demostrado ser lo suficientemente potente como para construir sistemas complejos con un esfuerzo limitado. A pesar de su énfasis en la seguridad, OKWS muestra ventajas de rendimiento en relación con los competidores populares: cuando presta servicios a cargas de trabajo de bases de datos totalmente dinámicas y sin vinculación de disco, el rendimiento y la capacidad de respuesta de OKWS superan a las de Apache , Flash (el rey reinante del rendimiento del servidor web) y Haboob ( un sistema académico reconocido como el servidor web Java más rápido del bloque). La experiencia comercial con OKWS sugiere que el sistema puede reducir los costos de hardware y administración del sistema, al tiempo que proporciona garantías de seguridad ausentes en los sistemas actuales.

copiado de okws.org

Brad Gilbert
fuente
1

Para ser más o menos completo, no olvides Hiawatha . El desarrollo de este es bastante activo y tiene una comunidad amigable y servicial.

joschi
fuente
0

La mayoría de los servidores web seguros y livianos ya se mencionaron (por ejemplo, archivos públicos, Nginx, Cherokee, etc.). Si ninguno de ellos cumple con sus requisitos, creo que mi sugerencia es alojar sus archivos estáticos (activos) en AWS S3 y CloudFront y Google Sites para sus páginas web.

bintut
fuente