Como configurar um servidor de testes local

Este artigo explica como configurar um simples servidor de testes local em seu computador e o b√°sico para utiliza-lo.

Pré-requisitos:

Primeiro voc√™ precisa saber como a internet funciona e o que √© um servidor Web.

Objetivo: Você vai aprender como configurar um servidor de testes local.

Arquivos locais vs. arquivos remotos

Ao longo da maior parte da √°rea de aprendizagem, n√≥s lhe dissemos apenas para abrir seus exemplos diretamente no navegador  ‚ÄĒ  Isto pode ser feito atr√°ves de um duplo clique no arquivo HTML, arrastando e soltando o arquivo na janela do navegador ou escolhendo Arquivo > Abrir... e navegando para o arquivo HTML. Existem muitas maneiras de realizar isso.

Se o caminho do endere√ßo web come√ßa com file:// seguido pelo caminho para o arquivo no seu disco r√≠gido local, um arquivo local est√° sendo utilizado. No entanto, se voc√™ ver um dos nossos exemplos hospedado no GitHub (ou um exemplo em algum outro servidor remoto), o ender√ßo web come√ßar√° com http:// ou https://, para mostrar que o arquivo foi recebido via HTTP.

O problema com o teste de arquivos locais

Alguns exemplos n√£o ser√£o executados se voc√™ os abrir como arquivos locais. Isto pode ser devido a uma s√©rie de raz√Ķes, sendo o mais prov√°vel:

  • Eles apresentam requisi√ß√Ķes ass√≠ncronas. Alguns navegadores (incluindo o Chrome) n√£o executar√£o requisi√ß√Ķes ass√≠ncronas (consulte Buscando dados no servidor) se voc√™ simplesmente executar o exemplo de um arquivo local. Isso ocorre devido a restri√ß√Ķes de seguran√ßa (para mais informa√ß√Ķes sobre seguran√ßa na web, leia Seguran√ßa do site).
  • Eles apresentam uma linguagem do site do servidor. Linguagens do lado do servidor (como PHP ou Python) requerem um servidor especial para interpretar o c√≥digo e entregar os resultados.

Executando um servidor HTTP local simples

Para contornar o problema de requisi√ß√Ķes ass√≠ncronas, precisamos testar esses exemplos executando-os atrav√©s de um servidor web local. Uma das maneiras mais f√°ceis de fazer isso para nossos prop√≥sitos √© usar o m√≥dulo SimpleHTTPServer do Python.

Para fazer isso:

  1. Instale o Python. Se voc√™ estiver usando Linux ou macOS, ele j√° dever√° est√°r dispon√≠vel em seu sistema. Se voc√™ √© um usu√°rio do Windows, pode obter um instalador na p√°gina inicial do Python e seguir as instru√ß√Ķes para instal√°-lo:

    • V√° para python.org (em ingl√™s)
    • Na se√ß√£o Download, clique no link para Python "3.xxx".
    • Na parte inferior da p√°gina, escolha o instalador execut√°vel do Windows x86 e baixe-o.
    • Quando tiver baixado, execute-o.
    • Na primeira p√°gina do instalador, certifique-se de marcar a caixa de sele√ß√£o "Adicionar Python 3.xxx ao PATH".
    • Clique em Instalar e ent√£o, clique em Fechar quando a instala√ß√£o terminar.
  2. Abra seu prompt de comando (Windows)/ terminal (macOS/ Linux). Para verificar se o Python est√° instalado, digite o seguinte comando:

    python -V
  3. Isso deve retornar um n√ļmero de vers√£o. Se estiver tudo OK, navegue at√© o diret√≥rio em que seu exemplo est√° dentro, usando o comando cd.

    # incluir o nome do diretório para entrar, por exemplo
    cd Desktop
    # use dois pontos para voltar um nível de diretório se você precisar
    cd ..
  4. Digite o comando para inicializar o servidor nesse diretório:

    # Se a vers√£o do Python retornada acima for 3.X
    python3 -m http.server
    # No windows, tente "python" em vez de "python3"
    # Se a vers√£o do Python retornada acima for 2.X
    python -m SimpleHTTPServer
  5. Por padr√£o, isso executar√° o conte√ļdo do diret√≥rio em um servidor web local, na porta 8000. Voc√™ pode ir para esse servidor acessando a URL localhost:8000 no seu navegador web. Aqui voc√™ ver√° o conte√ļdo do diret√≥rio listado ‚ÄĒ clique no arquivo HTML que voc√™ deseja executar.

Nota: Se voc√™ j√° tiver algo em execu√ß√£o na porta 8000, voc√™ poder√° escolher outra porta executando o comando do servidor seguido por um n√ļmero de porta alternativo, por exemplo python3 -m http.server 7800 (Python 3.x) ou python -m SimpleHTTPServer 7800 (Python 2.x). Voc√™ pode acessar seu conte√ļdo em localhost:7800.

Executando linguagens do lado do servidor localmente

Os m√≥dulos SimpleHTTPServer (python 2.0) e http.server (python 3.0) do Python s√£o √ļteis, mas n√£o sabem como executar c√≥digo escrito em linguagens como Python, PHP ou JavaScript. Para lidar com isso, voc√™ precisar√° de algo mais ‚ÄĒ exatamente o que voc√™ precisa depende da linguagem do lado do servidor que voc√™ est√° tentando executar. Aqui est√£o alguns exemplos:

  • Para executar o c√≥digo Python no lado do servidor, voc√™ precisar√° usar um framework web em Python. Voc√™ pode descobrir como usar o framework Django lendo Django Web Framework (Python). O Flask (em ingl√™s) tamb√©m √© uma boa alternativa ao Django (um pouco menos pesada). Para executar isso, voc√™ precisar√° instalar o Python/PIP e em seguida, instalar o Flask usando pip3 install flask. Neste ponto, voc√™ deve ser capaz de executar os exemplos em Python com Flask usando, por exemplo python3 python-example.py e em seguida acessar localhost:5000 no seu navegador.
  • Para executar o c√≥digo Node.js (JavaScript) no lado do servidor, voc√™ precisar√° usar o n√≥ bruto ou uma estrutura constru√≠da sobre ele. Express √© uma boa escolha ‚ÄĒ veja Express Web Framework (Node.js/JavaScript).
  • Para executar o c√≥digo PHP no lado do servidor, inicie o servidor de desenvolvimento interno do PHP:
$ cd path/to/your/php/code
$ php -S localhost:8000