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
Usando Servez como un servidor
- Descargar Servez
- Instálalo, ejecútalo
- Elija la carpeta para servir
- Elige "Inicio"
- 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 :-)
Aquí está otro. Es una extensión de Chrome
Una vez instalado, puedes ejecutarlo creando una nueva pestaña en Chrome y haciendo clic en el botón de aplicaciones en la parte superior izquierda
Tiene un gui simple. Haga clic en elegir carpeta, luego haga clic en el enlace http://127.0.0.1:8887
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