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 80
twistd -n web -p 8000 --path .
--bind <address>
fue agregado en python 3.4 .python -m SimpleHTTPServer 3000
Hay 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
nc
comando 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
nc
solución basada :). Tenga en cuenta que las-ne
marcas paraecho
pueden no ser portables, pero usar elprintf
comando 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
node
ynpm
ya 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-server
dentro del directorio del proyecto y luego agrego las siguientes líneas a mipackage.json
archivo:"scripts": { "build": "webpack && cd src/public && http-server" },
ahora solo necesito ejecutarnpm run build
en 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
SimpleHTTPServer
en 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
.py
archivo, 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
DocumentRoot
para 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
cat
ideas o sub-shell como:fuente
prueba caddie
curl https://getcaddy.com | bash
servir contenido de / var / www
caddy -root /var/www "browse"
ahora encuentra el servidor en http: // localhost: 2015
fuente
caddy
desde 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 1234
servirá directorio actual
sfk httpserv -port 1234 -rw
tambié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
nc
un poco la solución para que:filename=
pista,/tmp/serveFile-$PORT
que pueda matarlo más tarde fácilmente..
También se podría usar,
nc -k -l ...
pero de esta manera puedesfuente