Tengo un script que genera un informe diario que quiero servir al llamado público en general. El problema es que no quiero agregar a mis dolores de cabeza el mantenimiento de un servidor HTTP (por ejemplo, Apache) con todas las configuraciones e implicaciones de seguridad.
¿Existe una solución simple para servir una página HTML pequeña sin el esfuerzo de configurar un servidor HTTP completo?

Respuestas:
Sí nweb
Se puede encontrar aquí: nweb.c
(anteriormente en ibm.com )
Para compilar nweb.c:
fuente
Prueba SimpleHTTPServer :
Debería servir lo que sea que esté en el CWD (por ejemplo, index.html) en http://0.0.0.0:8000 .
fuente
python3 -m http.server 1337. No puedo especificar a qué IP vincular hasta donde puedo decir. Nota: Para escuchar el puerto 80 debe tener privilegios de root, por ejemplo:sudo python3 -m http.server 80twistd -n web -p 8000 --path .--bind <address>fue agregado en python 3.4 .python -m SimpleHTTPServer 3000Hay una gran lista de servidores http estáticos :
Por ejemplo:
Trenzado (Python)
Erlang :
Plack (Perl)
webfs
Ruby 1.9.2+
fuente
Uso
node.js, rápido y ligero.O
simplemente use el
nccomando netcat simple para iniciar un servidor web rápido en un puerto y servir el contenido de un archivo, incluidos los encabezados de respuesta del servidor.Referencia de Wikipedia:
http://en.wikipedia.org/wiki/Netcat#Setting_up_a_one-shot_webserver_on_port_8080_to_present_the_content_of_a_file
fuente
ncsolución basada :). Tenga en cuenta que las-nemarcas paraechopueden no ser portables, pero usar elprintfcomando en su lugar puede ser una mejor alternativa.Desde la versión 5.4.0 PHP también tiene un servidor web incorporado :
Puede especificar el directorio de documentos del servidor web con
-t, por ejemplo:Si desea poder acceder al servidor a través de la red, entonces:
fuente
Node tiene un módulo de servidor HTTP simple, rápido y ligero. Instalar:
(Suponiendo que tiene
nodeynpmya está instalado).Para ejecutarlo, use el directorio actual como raíz del sitio web:
Esto crea un servidor encendido
http://0.0.0.0:8080/.fuente
npm install -D http-serverdentro del directorio del proyecto y luego agrego las siguientes líneas a mipackage.jsonarchivo:"scripts": { "build": "webpack && cd src/public && http-server" },ahora solo necesito ejecutarnpm run builden el directorio del proyecto para iniciar el servidor HTTP, escuchando en el puerto 8080 por defecto.python3 -m http.server", pero es de un solo subproceso y solo 1 cliente puede descargar a la vez, los demás deben esperar. Esta solución con Node.js funciona mejor, debido a la naturaleza asíncrona de Node. Si desea compartir un archivo con varias personas, use esto.Intenta usarlo
SimpleHTTPServeren Python.Las dos primeras líneas están configuradas para el servidor web. La última línea crea un servidor web simple, abierto en el puerto 8080, que solo sirve archivos
~/public_html. Si sólo hay un archivo está en ese directorio, entonces sólo se expone que:http://localhost:8080/output.txt.fuente
.pyarchivo, luego ejecútelapython(o hágalo ejecutable). Tenga en cuenta que debe ejecutar con el intérprete python 2.x.Puedes llevar a cuestas a xinetd . Coloque el siguiente archivo de configuración en /etc/xinetd.d/ y vuelva a cargar service xinetd :
Funciona para mis propósitos de redireccionamiento:
fuente
Servidor HTTP Oldschool Ruby WEBrick :
Asegúrese de modificar el
DocumentRootpara su configuración. Ver también esto .fuente
Otra opción sería instalar lighttpd. Los siguientes son pasos sugeridos para instalar lighttpd en Unbuntu 12.04 LTS.
Nota: Documentroot es donde se ubicarán todos los archivos web accesibles. La ubicación es / var / wwww
El paso anterior instalará un servidor web lighttpd básico. Para más información consulte las siguientes referencias
Referencias
fuente
Ruby one liner simple para servir un directorio:
fuente
./devd -o -a -P devd:devd .https://github.com/cortesi/devd/releases
fuente
Una solución / mejora simple para una respuesta votada un poco injusta (en mi humilde opinión) también podría funcionar. Primero configuremos el archivo html ...
Ahora puede servirlo con esta frase:
Esta idea básica se presta a otros trucos que podrían funcionar para usted a través de otras
catideas o sub-shell como:fuente
prueba caddie
curl https://getcaddy.com | bashservir contenido de / var / www
caddy -root /var/www "browse"ahora encuentra el servidor en http: // localhost: 2015
fuente
caddydesde un directorio local y disfruto de tener un servidor web moderno y seguro.Ejemplo simple de netcat para poner en script bash:
fuente
while [ 1=1 ] ; do echo "TEST" | nc -l 80; done: ir a 127.0.0.1 de hecho devuelve el contenido. Sin embargo, tuve que hacer eso como root. Entonces, de una manera extremadamente cruda, puede hacer el trabajo, y eso me gusta. Intenté ir a my-hostnname.local en otra máquina en la LAN y también funcionó.SFK vale la pena mencionar aquí
http://stahlworks.com/dev/swiss-file-knife.html
Una excelente herramienta multipropósito sin dependencias
disponible en sabores deb y rpm
sfk httpserv -port 1234servirá directorio actual
sfk httpserv -port 1234 -rwtambién permitirá subir archivos
fuente
Pure bash: un servidor web en un script de shell .
Además, necesitará xinetd (creo que está disponible en cualquier distribución) para escuchar el puerto y ejecutar el script cuando sea necesario, por lo que no tiene que codificar tcp stack, etc. en bash.
fuente
Usé estas instrucciones para instalar un servidor web en mi máquina CentOS sin tener que usar sudo o tocar ningún archivo del sistema:
Primer nodo de instalación:
luego instale el servidor http:
luego ejecute http-server en el puerto 12321:
fuente
He mejorado
ncun poco la solución para que:filename=pista,/tmp/serveFile-$PORTque pueda matarlo más tarde fácilmente..
También se podría usar,
nc -k -l ...pero de esta manera puedesfuente