Crie um Servidor Web Instantâneo via Terminal Command Line e Python
Índice:
Deseja compartilhar rapidamente um arquivo, testar algum código ou transmitir algo? Você pode criar instantaneamente um servidor da Web a partir do diretório atual usando nada além de python, sim, sem apache, sem nginx, sem litespeed, tudo em python, que vem com praticamente todas as variações do unix atualmente. O comando é incrivelmente simples, considerando o quão útil é, e teste você mesmo, abra uma janela do Terminal e qualquer navegador da web.
Este truque inicia um servidor web simples instantaneamente com nada além de python, funciona em Mac OS X, Linux, FreeBSD e qualquer outra plataforma unix que tenha python.
Como Iniciar um Instant Web Server com Python
Para criar o servidor web instantâneo a partir da linha de comando, digite o seguinte em qualquer diretório que você deseja ter acessível via navegadores e HTTP:
Iniciar um Servidor Web Simples em Python 2
python -m SimpleHTTPServer
Iniciar Servidor Web Simples em Python 3
python -m http.server
Isso publicará o diretório atual como um servidor da Web imediatamente, portanto, se você tiver um arquivo index.html que será exibido imediatamente, caso contrário, apenas listará o conteúdo do diretório em seu IP de host local ou “ 0.0.0.0”. Observe que a porta 8000 é a configuração de porta padrão para esse recurso, o que significa que para acessar o servidor da Web a partir de um navegador, digite o seguinte endereço: http://0.0.0.0:8000
Lembre-se, sem um arquivo index.htm ou index.html no diretório, uma listagem de diretório simples do CWD/PWD apareceria no navegador.
Uma vez em execução, o terminal será atualizado conforme as páginas e os dados são carregados do servidor web python, mostrando informações padrão de registro http como solicitações GET e PUSH, quais arquivos estão sendo acessados e por quem, erros 404, Endereços IP, datas, horários e tudo o que você esperaria de um log http padrão como se estivesse rastreando um arquivo de log de acesso apache.
Você pode ficar mais sofisticado se quiser e especificar uma porta, dando algum nível de obscuridade ao servidor web se você espera transmitir algo apenas para um indivíduo específico, ou se você simplesmente não não quero que apareça em uma varredura de portas 8000 padrão.Tudo o que você precisa fazer é especificar um número de porta no final do comando mencionado, assim:
python -m SimpleHTTPServer 4104
Isso faria com que o servidor web iniciasse no diretório atual no IP com porta 4104, por exemplo, vamos supor o IP localhost: http://127.0.0.1:4104, ou http:// 0.0.0.0:4104 dependendo de suas configurações.
Esta é uma dica muito útil se você estiver fazendo algum desenvolvimento web rápido e quiser verificá-lo imediatamente em um navegador ou mostrá-lo a outra pessoa e não quiser perder tempo sftp ou confirme-o em um repositório. Isso deve funcionar em qualquer sistema operacional unix variante, incluindo FreeBSD, Linux, Ubuntu, Redhat e, claro, o Mac OS X também está incluído.
O vídeo abaixo demonstra um servidor python sendo iniciado em um diretório com um arquivo index.html simples, também mostra como o comando python em execução reflete o que está acontecendo com a conexão http como um servidor http normal log seria:
Informe-nos se você encontrar algum uso particularmente valioso ou segredos adicionais para este pequeno truque.