simple serve files example create command-line httpserver command-line-tool simplehttpserver

command-line - files - python-m simplehttpserver 8000



¿Cuál es una alternativa más rápida a http.server de Python(o SimpleHTTPServer)? (10)

El http.server de Python (o SimpleHTTPServer para Python 2) es una excelente manera de servir el contenido del directorio actual desde la línea de comandos

python -m http.server

Sin embargo, en cuanto a los servidores web, es muy lento ...

Se comporta como si se tratara de un único subproceso y, en ocasiones, provoca errores de tiempo de espera al cargar módulos AMD de JavaScript con RequireJS. Puede tomar de cinco a diez segundos cargar una página simple sin imágenes.

¿Cuál es una alternativa más rápida que es tan conveniente?


Encontré python -m http.server no confiable, algunas respuestas tardarían segundos.

Ahora uso un servidor llamado Ran https://github.com/m3ng9i/ran

Ran: un servidor web estático simple escrito en Go


Pruebe webfs , es pequeño y no depende de tener una plataforma como node.js o python instalada.


Recomiendo: Twisted ( http://twistedmatrix.com )

un motor de red basado en eventos escrito en Python y licenciado bajo la licencia de código abierto MIT.

Es multiplataforma y viene preinstalado en OS X desde 10.5. Entre otras cosas, puede iniciar un servidor web simple en el directorio actual con:

twistd -no web --path=.

Detalles

Explicación de las opciones (ver twistd --help para más información):

-n, --nodaemon don''t daemonize, don''t use default umask of 0077 -o, --no_save do not save state on shutdown

"web" es un comando que ejecuta un servidor web simple sobre el motor asíncrono Twisted. También acepta las opciones de la línea de comandos (después del comando "web"; consulte twistd web --help para obtener más información):

--path= <path> is either a specific file or a directory to be set as the root of the web server. Use this if you have a directory full of HTML, cgi, php3, epy, or rpy files or any other files that you want to be served up raw.

También hay un montón de otros comandos, tales como:

conch A Conch SSH service. dns A domain name server. ftp An FTP server. inetd An inetd(8) replacement. mail An email service ... etc

Instalación

Ubuntu

sudo apt-get install python-twisted-web (or python-twisted for the full engine)

Mac OS-X (viene preinstalado desde 10.5 o está disponible en MacPorts)

sudo port install py-twisted

Windows

installer available for download at http://twistedmatrix.com/

HTTPS

Twisted también puede utilizar certificados de seguridad para cifrar la conexión. Use esto con sus --path existentes --path y --port (para HTTP simple).

twistd -no web -c cert.pem -k privkey.pem --https=4433


Si usa Mercurial, puede usar el servidor HTTP incorporado. En la carpeta que desea servir:

hg serve

De la documentación :

export the repository via HTTP Start a local HTTP repository browser and pull server. By default, the server logs accesses to stdout and errors to stderr. Use the "-A" and "-E" options to log to files. options: -A --accesslog name of access log file to write to -d --daemon run server in background --daemon-pipefds used internally by daemon mode -E --errorlog name of error log file to write to -p --port port to listen on (default: 8000) -a --address address to listen on (default: all interfaces) --prefix prefix path to serve from (default: server root) -n --name name to show in web pages (default: working dir) --webdir-conf name of the webdir config file (serve more than one repo) --pid-file name of file to write process ID to --stdio for remote clients -t --templates web templates to use --style template style to use -6 --ipv6 use IPv6 in addition to IPv4 --certificate SSL certificate file use "hg -v help serve" to show global options


También considere devd un pequeño servidor web escrito en go. Los binarios para muchas plataformas están disponibles here .

devd -ol path/to/files/to/serve

Es pequeño, rápido y proporciona algunas características opcionales interesantes como la recarga en vivo cuando cambian los archivos.


Usando Servez como un servidor

  1. Descargar Servez
  2. Instálalo, ejecútalo
  3. Elija la carpeta para servir
  4. Elige "Inicio"
  5. Vaya a http://localhost:8080 o seleccione "Iniciar navegador"

Nota: Tiré esto juntos porque Web Server para Chrome está desapareciendo ya que Chrome está eliminando el soporte para aplicaciones y porque apoyo a los estudiantes de arte que no tienen experiencia con la línea de comandos


prueba polpetta ...

npm instalar -g polpetta

entonces tú puedes

polpetta ~ / carpeta

y ya está listo para ir :-)



http-server for node.js es muy conveniente, y es mucho más rápido que SimpleHTTPServer de Python. Esto se debe principalmente a que utiliza E / S asíncrona para el manejo simultáneo de solicitudes, en lugar de serializar solicitudes.

Instalación

Instala node.js si aún no lo has hecho. Luego use el administrador de paquetes de nodo ( npm ) para instalar el paquete, usando la opción -g para instalar globalmente. Si está en Windows, necesitará un aviso con permisos de administrador, y en Linux / OSX querrá sudo el comando:

npm install http-server -g

Esto descargará las dependencias necesarias e instalará http-server .

Utilizar

Ahora, desde cualquier directorio, puede escribir:

http-server [path] [options]

La ruta es opcional, por defecto a ./public si existe, de lo contrario ./ .

Las opciones son [por defecto]:

  • -p El número de puerto para escuchar en [8080]
  • -a La dirección del host para enlazar a [localhost]
  • -i Mostrar páginas de índice de directorio [Verdadero]
  • -s o --silent modo silencioso no se registra en la consola
  • -h o --help Muestra el mensaje de ayuda y sale.

Para servir el directorio actual en el puerto 8000, escriba:

http-server -p 8000


go go 1.0 incluye un servidor http y util para servir archivos con algunas líneas de código.

package main import ( "fmt"; "log"; "net/http" ) func main() { fmt.Println("Serving files in the current directory on port 8080") http.Handle("/", http.FileServer(http.Dir("."))) err := http.ListenAndServe(":8080", nil) if err != nil { log.Fatal("ListenAndServe: ", err) } }

Ejecute esta fuente utilizando go run myserver.go o para compilar un ejecutable go build myserver.go