Eu tenho um script que gera um relatório diário que quero servir ao chamado público em geral. O problema é que não quero adicionar à minha dor de cabeça a manutenção de um servidor HTTP (por exemplo, Apache) com todas as configurações e implicações de segurança.
Existe uma solução simples para servir uma pequena página HTML sem o esforço de configurar um servidor HTTP completo?
Respostas:
Sim, nweb.
Pode ser encontrado aqui: nweb.c
(anteriormente em ibm.com )
Para compilar o nweb.c:
fonte
Experimente o SimpleHTTPServer :
Ele deve servir o que estiver no CWD (por exemplo, index.html) em http://0.0.0.0:8000 .
fonte
python3 -m http.server 1337
. Você não pode especificar a qual IP vincular, tanto quanto eu posso dizer. Nota: Para ouvir a porta 80, você deve ter privilégios de root, por exemplo:sudo python3 -m http.server 80
twistd -n web -p 8000 --path .
--bind <address>
foi adicionado no python 3.4 .python -m SimpleHTTPServer 3000
Há uma grande lista de one-liners de servidor estático http :
Por exemplo:
Torcido (Python)
Erlang :
Plack (Perl)
webfs
Ruby 1.9.2+
fonte
Use
node.js
, rápido e leve.Ou
basta usar o
nc
comando netcat simples para iniciar um servidor da web rápido em uma porta e servir o conteúdo de um arquivo, incluindo os cabeçalhos de resposta do servidor.Referência da Wikipedia:
http://en.wikipedia.org/wiki/Netcat#Setting_up_a_one-shot_webserver_on_port_8080_to_present_the_content_of_a_file
fonte
nc
solução baseada :). Observe que os-ne
sinalizadores paraecho
podem não ser portáveis, usando oprintf
comando pode ser uma alternativa melhor.Desde a versão 5.4.0, o PHP também possui um servidor da web embutido :
Você pode especificar o diretório de documentos do servidor da Web com
-t
, por exemplo:Se você deseja acessar o servidor pela rede, então:
fonte
O nó possui um módulo de servidor HTTP simples, rápido e leve. Para instalar:
(Supondo que você tem
node
enpm
já instalado.)Para executá-lo, use o diretório atual como raiz do site:
Isso cria um servidor
http://0.0.0.0:8080/
.fonte
npm install -D http-server
dentro do diretório do projeto e adiciono as seguintes linhas ao meupackage.json
arquivo:"scripts": { "build": "webpack && cd src/public && http-server" },
agora só preciso rodarnpm run build
no diretório do projeto para iniciar o servidor HTTP, escutando na porta 8080 por padrão.python3 -m http.server
", mas é de thread único e apenas um cliente pode baixar por vez, os outros precisam esperar. Essa solução com o Node.js funciona melhor, devido à natureza assíncrona do Node. Se você deseja compartilhar um arquivo com várias pessoas, use isso.Tente usar
SimpleHTTPServer
em Python.As duas primeiras linhas são configuradas para o servidor web. A última linha cria um servidor web simples, aberto na porta 8080, que serve apenas arquivos de
~/public_html
. Se apenas um arquivo está no diretório, então, apenas que é exposta:http://localhost:8080/output.txt
.fonte
.py
arquivo, depois executá-lo compython
(ou torná-lo executável). Lembre-se de que você deve executar com o interpretador python 2.x.Você pode pegar o xinetd . Coloque o seguinte arquivo de configuração em /etc/xinetd.d/ e service xinetd reload :
Funciona para meus propósitos de redirecionamento:
fonte
Servidor HTTP Ruby WEBrick Oldschool :
Certifique-se de modificar o
DocumentRoot
para sua instalação. Veja também isso .fonte
Outra opção seria instalar o lighttpd. A seguir, são sugeridas as etapas para instalar o lighttpd em um Unbuntu 12.04 LTS.
Nota: O Documentroot é o local onde todos os arquivos acessíveis pela Web serão locais. O local é / var / wwww
A etapa acima instalará um servidor web lighttpd básico. Para mais informações, consulte as seguintes referências
Referências:
fonte
Simples liner Ruby para servir um diretório:
fonte
./devd -o -a -P devd:devd .
https://github.com/cortesi/devd/releases
fonte
Uma correção / aprimoramento simples para uma resposta votada levemente injusta (imho) também pode funcionar. Vamos configurar o arquivo html primeiro ...
Agora você pode atendê-lo com esta linha única:
Essa ideia básica se presta a outros truques que podem funcionar para você por meio de outras
cat
idéias ou subconjuntos, como:fonte
tente caddy
curl https://getcaddy.com | bash
servir conteúdo de / var / www
caddy -root /var/www "browse"
agora você encontra o servidor em http: // localhost: 2015
fonte
caddy
de um diretório local e gosto de ter um servidor da web moderno e seguro.Exemplo simples de netcat para colocar no script bash:
fonte
while [ 1=1 ] ; do echo "TEST" | nc -l 80; done
- indo para 127.0.0.1 realmente retorna o conteúdo. Eu tive que fazer isso como raiz. Então, de uma maneira extremamente grosseira - ele pode fazer o trabalho, e eu gosto disso. Tentei acessar meu-hostnname.local em outra máquina na LAN e funcionou também.Vale a pena mencionar aqui o SFK
http://stahlworks.com/dev/swiss-file-knife.html
uma excelente ferramenta multiuso sem dependências
disponível nos sabores deb e rpm
sfk httpserv -port 1234
servirá diretório atual
sfk httpserv -port 1234 -rw
também permitirá o upload de arquivos
fonte
Pure bash: um servidor web em um script de shell .
Além disso, você precisará do xinetd (acredito disponível em qualquer distribuição) para ouvir a porta e executar o script quando necessário, para que você não precise codificar a pilha tcp etc. no bash.
fonte
Usei estas instruções para instalar um servidor Web na minha máquina CentOS sem precisar usar o sudo ou tocar em nenhum arquivo de sistema:
Primeiro nó de instalação:
instale o servidor http:
em seguida, execute o servidor http na porta 12321:
fonte
Melhorei
nc
um pouco a solução para que:filename=
dica,/tmp/serveFile-$PORT
que você possa matá-lo mais tarde facilmente..
Pode-se também usar,
nc -k -l ...
mas desta maneira você podefonte