O http.server do Python (ou SimpleHTTPServer para Python 2) é uma ótima maneira de servir o conteúdo do diretório atual na linha de comando:
python -m http.server
No entanto, no que diz respeito aos servidores web, é muito slooooow ...
Ele se comporta como se tivesse um único encadeamento e, ocasionalmente, causa erros de tempo limite ao carregar os módulos AMD JavaScript usando o RequireJS. Pode levar de cinco a dez segundos para carregar uma página simples sem imagens.
O que é uma alternativa mais rápida e conveniente?
command-line
httpserver
command-line-tool
simplehttpserver
Drew Noakes
fonte
fonte
git instaweb
.Respostas:
O servidor http para node.js é muito conveniente e muito mais rápido que o SimpleHTTPServer do Python. Isso ocorre principalmente porque ele usa E / S assíncronas para manipulação simultânea de solicitações, em vez de serializar solicitações.
Instalação
Instale o node.js se você ainda não o fez. Em seguida, use o gerenciador de pacotes do nó (
npm
) para instalar o pacote, usando a-g
opção para instalar globalmente. Se você estiver no Windows, precisará de um prompt com permissões de administrador e, no Linux / OSX, desejarásudo
o comando:Isso fará o download de todas as dependências necessárias e a instalação
http-server
.Usar
Agora, em qualquer diretório, você pode digitar:
O caminho é opcional, padronizando
./public
se existir, caso contrário./
.As opções são [padrões]:
-p
O número da porta a ser ouvida [8080]-a
O endereço do host a ser vinculado ao [localhost]-i
Exibir páginas de índice de diretório [True]-s
--silent
modo silencioso ou não registrará no console-h
ou--help
Exibe mensagem de ajuda e saiPortanto, para servir o diretório atual na porta 8000, digite:
fonte
-g
opção e garantiu que nenhum erro fosse impresso durante a instalação? Esse erro significa apenas que não pode ser encontrado após a instalação, o que parece improvável se tudo correr bem. Em que plataforma você está? Execute um comando find em sua unidade para encontrar um arquivo com o nomehttp-server
. Eu usei isso com sucesso em algumas distros diferentes do Linux e versões do Windows.Eu recomendo: Twisted ( http://twistedmatrix.com )
É multiplataforma e foi pré-instalado no OS X 10.5 a 10.12. Entre outras coisas, você pode iniciar um servidor Web simples no diretório atual com:
Detalhes
Explicação das opções (veja
twistd --help
para mais informações):"web" é um comando que executa um servidor web simples em cima do mecanismo assíncrono Twisted. Também aceita opções de linha de comando (após o comando "web" - veja
twistd web --help
para mais):Há também vários outros comandos, como:
Instalação
Ubuntu
Mac OS-X (vem pré-instalado nas versões 10.5 - 10.12 ou está disponível no MacPorts e no Pip)
janelas
HTTPS
O Twisted também pode utilizar certificados de segurança para criptografar a conexão. Use isso com as opções existentes
--path
e--port
(para HTTP simples).fonte
sudo apt-get install python-twisted-web
primeiro. (Obrigado por esta resposta, é muito conveniente!)twistd --help
etwistd web --help
. Levei um tempo para descobrir isso.ir1.0 inclui um servidor http & util para servir arquivos com algumas linhas de código.
Execute esta fonte usando
go run myserver.go
ou para criar um arquivo executávelgo build myserver.go
fonte
Experimente os webfs , é pequeno e não depende de ter uma plataforma como node.js ou python instalada.
fonte
apt-get install webfs
brew install webfs
no meu Mac, o que resultou🍺 /usr/local/Cellar/webfs/1.21: 5 files, 96K, built in 15 seconds
. Depois, eu poderia dizer apenaswebfsd -F -p 3003 -r resources/public/ -f index.html
para conseguir o mesmo quetwistd -no web -p 3003 --path=resources/public/
. É um pouco prolixo, por isso não é óbvio para lembrar, mas é bom saber como uma alternativa ao twistd ou SimpleHTTPServer.Se você usa o Mercurial, pode usar o servidor HTTP incorporado. Na pasta que você deseja exibir:
Dos documentos :
fonte
Aqui está outro. É uma extensão do Chrome
Depois de instalado, você pode executá-lo criando uma nova guia no Chrome e clicando no botão de aplicativos no canto superior esquerdo
Tem um gui simples. Clique em escolher pasta e clique no
http://127.0.0.1:8887
linkhttps://www.youtube.com/watch?v=AK6swHiPtew
fonte
Considere também o devd, um pequeno servidor da Web escrito em go. Binários para muitas plataformas estão disponíveis aqui .
É pequeno, rápido e oferece alguns recursos opcionais interessantes, como recarga ao vivo quando os arquivos são alterados.
fonte
Achei
python -m http.server
não confiável - algumas respostas levariam segundos.Agora eu uso um servidor chamado Ran https://github.com/m3ng9i/ran
fonte
experimente o polpetta ...
então você pode
e você está pronto para ir :-)
fonte
Usando Servez como servidor
http://localhost:8080
ou escolha "Iniciar navegador"Nota: juntei isso porque o Web Server para Chrome está desaparecendo, pois o Chrome está removendo o suporte para aplicativos e porque eu apoio estudantes de arte que não têm experiência com a linha de comando
fonte
Eu gosto de servidor ao vivo . É rápido e possui um bom recurso de recarga ao vivo, o que é muito conveniente durante o desenvolvimento.
O uso é muito simples:
Por padrão, ele cria um servidor com IP 127.0.0.1 e porta 8080.
http://127.0.0.1:8080/
Se a porta 8080 não estiver livre, ela usará outra porta:
http://127.0.0.1:52749/
http://127.0.0.1:52858/
Se você precisar ver o servidor da Web em outras máquinas na sua rede local, poderá verificar qual é o seu IP e usar:
E aqui está um script que pega automaticamente o endereço IP da interface padrão. Funciona apenas no macOS .
Se você o inserir
.bash_profile
, olive-server
comando iniciará automaticamente o servidor com o IP correto.fonte
Se você tiver o PHP instalado, poderá usar o servidor interno.
fonte
Ainda outro servidor de linha de comando simples baseado em nó
https://github.com/greggman/servez-cli
Escrito parcialmente em resposta ao servidor http com problemas, principalmente no Windows.
instalação
Instale o node.js então
uso
Sem caminho, ele serve a pasta atual.
Por padrão, ele serve
index.html
para caminhos de pasta, se existir. Serve uma listagem de diretórios para pastas caso contrário. Ele também serve cabeçalhos CORS. Opcionalmente, você pode ativar a autenticação básica--username=somename --password=somepass
e pode servir https.fonte