Pular para o conteúdo
Fileiras de armários e equipamentos em uma sala de servidores.
DEV

Hospedagem Linux com NGINX: publique um site estático

NGINX pode servir arquivos HTML, CSS, JavaScript e imagens a partir de um servidor Linux. Para isso, o DNS precisa apontar para o destino correto e um bloco de servidor precisa associar o domínio à pasta pública. Um site que depende de Node.js, PHP ou outro runtime exige uma arquitetura adicional.

Este guia é uma síntese documental consultada em 27 de outubro de 2026. O bloco de exemplo não foi aplicado nem testado em um VPS; nomes de arquivos, caminhos, portas e comandos podem variar conforme a distribuição e a configuração existente.

Como uma visita chega ao arquivo

Quando alguém acessa www.exemplo.com, o DNS resolve o nome para um destino. A conexão chega ao servidor web, e o NGINX usa um bloco server para escolher o domínio e localizar o arquivo solicitado. Se o arquivo não existir, a configuração deve retornar um erro adequado, como 404, em vez de expor outro conteúdo.

Se o domínio passa pela Cloudflare, DNS, proxy e cache continuam sendo configurações distintas. Veja o guia sobre como Cloudflare funciona antes de alterar a zona DNS ou criar regras de cache.

Prepare domínio, pasta e acesso

  1. Confirme com o provedor o sistema, o endereço do VPS e o método de recuperação.

  2. Aponte o domínio raiz e www para os destinos indicados pelo host; não copie IPs de exemplos.

  3. Instale NGINX pelo repositório e pelo procedimento documentado para sua distribuição.

  4. Separe uma pasta para os arquivos públicos, por exemplo /var/www/exemplo.

  5. Não coloque nessa pasta backups, arquivos .env, chaves privadas ou configurações administrativas.

O endereço DNS, o destino do www e a pasta do site são coisas diferentes. Um domínio apontando para o VPS não cria a configuração NGINX, e uma configuração NGINX não corrige um DNS apontando para o servidor errado.

Exemplo didático de bloco de servidor

Um bloco simples para conteúdo estático pode ter esta forma:

server {
    listen 80;
    server_name exemplo.com www.exemplo.com;

    root /var/www/exemplo;
    index index.html;

    location / {
        try_files $uri $uri/ =404;
    }
}

O exemplo escuta HTTP na porta 80 e não configura HTTPS. Em produção, verifique o bloco existente, os certificados e os redirecionamentos antes de habilitar TLS. Se houver mais de um site no mesmo servidor, use nomes e raízes específicos para cada domínio.

Antes de recarregar uma alteração, faça uma cópia da configuração atual e valide a sintaxe com sudo nginx -t. Só continue se o teste terminar sem erro; use o procedimento de reload documentado para a sua distribuição. Não apague o bloco anterior até confirmar que o novo domínio entrega os arquivos corretos.

HTTPS e origem

HTTPS precisa estar configurado no ponto que recebe a conexão. Se visitantes chegam diretamente ao VPS, o certificado apresentado pela origem precisa ser confiável para os navegadores. A validação HTTP-01 do Let's Encrypt usa uma resposta servida pelo domínio na porta 80; firewall, DNS e redirecionamentos precisam permitir o desafio.

Com o proxy da Cloudflare, também há uma conexão entre a borda e a origem. No modo Full (strict), o servidor de origem precisa apresentar um certificado válido para o nome solicitado. Um certificado Cloudflare Origin CA atende à conexão Cloudflare–origem, mas navegadores não o tratam como certificado público confiável quando acessam o VPS diretamente.

Confira o site antes de considerar pronto

  • O domínio raiz e www chegam ao bloco esperado.

  • Uma rota inexistente retorna 404 e não mostra conteúdo de outro site.

  • Arquivos privados, backups e segredos não ficam dentro da pasta pública.

  • HTTP e HTTPS não formam um ciclo de redirecionamento.

  • O site continua respondendo depois de reiniciar o serviço ou servidor.

  • Há registros de log, atualizações e um plano testado de backup e restauração.

Perguntas frequentes

NGINX transforma qualquer site em estático?

Não. NGINX pode servir os arquivos que já existem. Aplicações que dependem de execução no servidor precisam de um runtime e de uma configuração de proxy ou integração apropriada.

Posso usar o mesmo bloco para vários domínios?

Um bloco pode listar nomes relacionados, como o domínio raiz e www, mas cada site independente deve ter seu server_name e sua pasta revisados para não entregar o conteúdo errado.

Cloudflare configura o NGINX automaticamente?

Não. A zona DNS e o proxy controlam o caminho do tráfego; a configuração do servidor web e do HTTPS na origem continua sendo responsabilidade do VPS ou da plataforma usada.

Fontes oficiais

COMPARTILHAR

FacebookXLinkedInWhatsApp
FONTES E NOTAS EDITORIAIS

Artigo agendado para 2026-12-02T13:00:00.000Z; fontes oficiais conferidas em 2026-10-27. Revisão documental, sem alegação de teste prático.

Retrato de Eliel Lança

QUEM ESCREVE

Eliel Lança

Escritor, terapeuta, criador de jogos e aplicativos, músico com diversas composições autorais. Pai e avô, com formação em Marketing Digital e Inteligência Artificial. Entre palavras, música e tecnologia, transforma ideias em projetos.

Atualizado em