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 lo que respecta a los servidores web, es muy lento ...
Se comporta como si tuviera un solo subproceso y ocasionalmente produce errores de tiempo de espera al cargar módulos AMD de JavaScript con RequireJS. Puede llevar 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?
command-line
httpserver
command-line-tool
simplehttpserver
Drew Noakes
fuente
fuente
git instaweb
.Respuestas:
El servidor http para node.js es muy conveniente y mucho más rápido que el SimpleHTTPServer de Python. Esto se debe principalmente a que utiliza IO asíncrona para el manejo concurrente 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-g
opción para instalar globalmente. Si está en Windows, necesitará un aviso con permisos de administrador, y en Linux / OSX querrásudo
el comando:Esto descargará las dependencias necesarias y se instalará
http-server
.Utilizar
Ahora, desde cualquier directorio, puede escribir:
La ruta es opcional, por defecto
./public
si existe, de lo contrario./
.Las opciones son [predeterminadas]:
-p
El número de puerto para escuchar en [8080]-a
La dirección de host para enlazar a [localhost]-i
Mostrar páginas de índice del directorio [Verdadero]-s
o el--silent
modo silencioso no se registrará en la consola-h
o--help
Muestra el mensaje de ayuda y saleEntonces, para servir el directorio actual en el puerto 8000, escriba:
fuente
-g
opción y se aseguró de que no se imprimieron errores durante la instalación? Ese error solo significa que no se puede encontrar después de la instalación, lo que parece poco probable si las cosas salieron bien. ¿En qué plataforma estás? Ejecute un comando de búsqueda en su unidad para buscar un archivo con nombrehttp-server
. Lo he usado con éxito en algunas distribuciones de Linux y versiones de Windows diferentes.Recomiendo: Twisted ( http://twistedmatrix.com )
Es multiplataforma y se preinstaló en OS X 10.5 a 10.12. Entre otras cosas, puede iniciar un servidor web simple en el directorio actual con:
Detalles
Explicación de las opciones (ver
twistd --help
más):"web" es un comando que ejecuta un servidor web simple en la parte superior del motor asincrónico Twisted. También acepta opciones de línea de comando (después del comando "web" - ver
twistd web --help
más):También hay muchos otros comandos como:
Instalación
Ubuntu
Mac OS-X (viene preinstalado en 10.5 - 10.12, o está disponible en MacPorts y a través de Pip)
Ventanas
HTTPS
Twisted también puede utilizar certificados de seguridad para cifrar la conexión. Use esto con sus opciones existentes
--path
y--port
(para HTTP simple).fuente
sudo apt-get install python-twisted-web
primero tienes que hacerlo . (Gracias por esta respuesta, es muy conveniente!)twistd --help
ytwistd web --help
. Me tomó un tiempo entender eso.Vamos1.0 incluye un servidor http y una utilidad para servir archivos con algunas líneas de código.
Ejecute esta fuente usando
go run myserver.go
o para construir un ejecutablego build myserver.go
fuente
Pruebe webfs , es pequeño y no depende de tener instalada una plataforma como node.js o python.
fuente
apt-get install webfs
brew install webfs
en mi Mac que resultó en🍺 /usr/local/Cellar/webfs/1.21: 5 files, 96K, built in 15 seconds
. Después podría decirwebfsd -F -p 3003 -r resources/public/ -f index.html
que logre lo mismo quetwistd -no web -p 3003 --path=resources/public/
. Es un poco extenso, así que no es obvio para recordarlo, pero es bueno saberlo como una alternativa a twistd o SimpleHTTPServer.Si usa Mercurial, puede usar el servidor HTTP incorporado. En la carpeta que desea servir:
De los documentos :
fuente
Aquí está otro. Es una extensión de Chrome
Una vez instalado, puede ejecutarlo creando una nueva pestaña en Chrome y haciendo clic en el botón de aplicaciones cerca de la esquina superior izquierda
Tiene una interfaz gráfica de usuario simple. Haga clic en elegir carpeta, luego haga clic en el
http://127.0.0.1:8887
enlacehttps://www.youtube.com/watch?v=AK6swHiPtew
fuente
También considere devd un pequeño servidor web escrito en go. Los binarios para muchas plataformas están disponibles aquí .
Es pequeño, rápido y proporciona algunas características opcionales interesantes, como la recarga en vivo cuando cambian los archivos.
fuente
Encontré
python -m http.server
poco confiable: algunas respuestas tomarían segundos.Ahora uso un servidor llamado Ran https://github.com/m3ng9i/ran
fuente
probar polpetta ...
entonces tú puedes
y estás listo para ir :-)
fuente
Usando Servez como servidor
http://localhost:8080
o seleccione "Iniciar navegador"Nota: Creé esto porque Web Server para Chrome desaparecerá, 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.
fuente
Me gusta el servidor en vivo . Es rápido y tiene una buena función de recarga en vivo, que es muy conveniente durante el desarrollo.
El uso es muy simple:
Por defecto, crea un servidor con IP 127.0.0.1 y el puerto 8080.
http://127.0.0.1:8080/
Si el puerto 8080 no es libre, usa otro puerto:
http://127.0.0.1:52749/
http://127.0.0.1:52858/
Si necesita ver el servidor web en otras máquinas en su red local, puede verificar cuál es su IP y usar:
Y aquí hay un script que toma automáticamente la dirección IP de la interfaz predeterminada. Funciona solo en macOS .
Si lo coloca
.bash_profile
, ellive-server
comando iniciará automáticamente el servidor con la IP correcta.fuente
Si tiene PHP instalado, puede usar el servidor incorporado.
fuente
Otro servidor de línea de comandos simple basado en nodos
https://github.com/greggman/servez-cli
Escrito en parte en respuesta a que el servidor http tiene problemas, particularmente en Windows.
instalación
Instale node.js entonces
uso
Sin ruta sirve a la carpeta actual.
Por defecto sirve
index.html
para rutas de carpeta si existe. Sirve una lista de directorios para carpetas de lo contrario. También sirve encabezados CORS. Opcionalmente, puede activar la autenticación básica con--username=somename --password=somepass
y puede servir https.fuente