Servidor web desplegable simple

Estoy buscando un servidor web HTTP autónomo que pueda implementar en máquinas Windows y Linux para servir archivos estáticos.

Tiene que ser pequeño y básico. Preferiblemente, podría iniciarlo (y apagarlo) desde una línea de comando, especificando en qué puerto se ejecutaría y especificando a qué directorio apuntaría como su directorio de inicio.

Alguien sabe de alguno como este?

Respuestas (5)

Sugeriría embarcadero . Estoy en el proceso de incrustar esto en una aplicación. Está basado en Java y es compatible con varias plataformas.

También puede incrustar Jetty dentro de su aplicación con bastante facilidad.

Características

  • Con todas las funciones y basado en estándares
  • Código abierto y utilizable comercialmente
  • Flexibles y extensibles
  • Pequeña huella de pie
  • Embebible
  • Asincrónico
  • Empresa escalable
  • Doble licencia bajo Apache y Eclipse

EDITAR: terminé usando la versión integrada de Tomcat , así que lo agregaré como recomendación. Simple y fácil de usar desde el código. Y según OP, se puede iniciar desde la línea de comando .

De hecho, terminé usando Restlet, pero para un nuevo proyecto que necesita más flexibilidad, he estado usando Embedded Jetty, que funciona muy bien. Así que le daré a esto la aceptación.

Yo personalmente he usado Mongoose . Es totalmente multiplataforma y es un ejecutable autónomo. Sirve archivos estáticos y, de forma predeterminada, sirve desde el directorio en el que lo inicia. También puede pasarle una ruta en la línea de comando si desea servir un directorio diferente.

Algunas alternativas.

  • servidor http Requiere node.js. Puede ser un servidor de producción o uno de desarrollo. De lo contrario, es idéntico a la mangosta.

Ambas opciones son livianas, pero potentes, totalmente multiplataforma y se pueden instalar de forma portátil (es decir, no necesitan permisos de administrador para instalar)

Encontré Mongoose y http-server en mi investigación. Desafortunadamente, la licencia de Mongoose no es lo suficientemente permisiva para mi uso y no puedo garantizar que mis clientes tengan node.js en sus sistemas.

Puede instalar Apache después de instalar Cygwin. https://cygwin.com/

Si desea algo que probablemente sea un poco más fácil de instalar y configurar, puede probar WAMP. http://www.wampserver.com/en/

También está XAMP, que es casi lo mismo. https://www.apachefriends.org/index.html

Apache no parece ser exactamente "básico", su archivo de configuración puede ser difícil de modificar a veces, demasiado exagerado en mi opinión (pero bueno para archivos html más complejos que simples). Además, no necesita Cygwin en absoluto, es mucho mejor instalar la versión nativa de Windows en su lugar.

No estoy seguro de por qué necesitaría uno que pueda funcionar en cualquier entorno. Personalmente, configuraría una VM de Linux en VirtualBox usando Puphpet para ejecutar un servidor web en Windows si estuviera atascado en Windows de alguna manera.

Dicho esto, recomendaría Nginx . Es principalmente para Linux. Para eso fue diseñado y así sucesivamente. Sin embargo, tienen una versión nativa de Windows que no requiere cygwin para ejecutarla.

He estado bastante contento con MiniWeb .

MiniWeb es una implementación de miniservidor HTTP escrita en lenguaje C, que presenta un bajo consumo de recursos del sistema, alta eficiencia, buena flexibilidad y alta portabilidad. Es capaz de servir a múltiples clientes con un solo hilo, soportando métodos GET y POST, autenticación, contenidos dinámicos (página web dinámica y sustitución de variables de página) y carga de archivos. MiniWeb se ejecuta en el sistema operativo compatible con POSIX, como Linux, así como en Microsoft Windows (Cygwin, MinGW y compilación nativa con Visual Studio). El tamaño binario de MiniWeb puede ser tan pequeño como 20 KB (en Linux x86). El objetivo del proyecto es proporcionar un servidor HTTP rápido, funcional y de bajo consumo de recursos que se pueda integrar en otras aplicaciones (como una biblioteca estática o dinámica), así como un servidor web independiente.