terça-feira, 28 de julho de 2026 · Edição online
PosUp
PosUp

Nginx configuracao: guia passo a passo do zero

ResumoO guia passo a passo do Nginx ensina a configurar um servidor web do zero, desde a instalação até a otimização básica. O tutorial aborda etapas práticas para evitar erros comuns e melhorar a performance, incluindo ajustes de arquivos de configuração e dicas para servidores de produção.

Configurar um servidor Nginx do zero parece complexo, mas com as etapas certas você evita erros comuns e ganha performance. Este guia cobre desde a instalação até a otimização básica, com dicas práticas para cada passo.

Patrícia Lemos Patrícia Lemos · Especialista em dados e analytics
· · 4 min de leitura
Nginx configuracao: guia passo a passo do zero
Foto: Imagem ilustrativa · PosUp

Configurar um servidor Nginx do zero parece complexo, mas com as etapas certas você evita erros comuns e ganha performance. Este guia cobre desde a instalação até a otimização básica, com dicas práticas para cada passo.

Como configurar e otimizar um servidor Nginx do zero

Configurar um servidor Nginx do zero é o primeiro passo para ter controle total sobre a entrega de conteúdo web. Para configurar e otimizar um servidor Nginx do zero, instale o pacote, edite o arquivo principal de configuração, crie um bloco server para seu domínio e ajuste parâmetros de performance como worker_processes e buffer sizes. O resultado esperado é um servidor estático ou proxy reverso funcional, com segurança básica e consumo eficiente de recursos. Pré-requisitos: acesso root a uma máquina Linux (Ubuntu ou Debian, mas os comandos são similares em outras distribuições) e um domínio apontado para o IP do servidor.

Passo 1: Instalar o Nginx

O Nginx está nos repositórios oficiais da maioria das distribuições. No Ubuntu/Debian, execute sudo apt update && sudo apt install nginx -y. Após a instalação, o serviço inicia automaticamente. Verifique com sudo systemctl status nginx. Se o firewall estiver ativo, libere as portas 80 (HTTP) e 443 (HTTPS): sudo ufw allow 'Nginx Full'. Erro comum: esquecer de liberar as portas no firewall e tentar acessar o servidor pelo navegador, o resultado é um timeout ou conexão recusada.

Passo 2: Localizar e entender o arquivo de configuração principal

O arquivo principal fica em /etc/nginx/nginx.conf. Nele você define diretivas globais como worker_processes (número de processos worker, idealmente igual ao número de CPUs) e worker_connections (conexões simultâneas por worker). Um bom ponto de partida para servidores com 2 CPUs: worker_processes 2; e worker_connections 1024;. O arquivo inclui por padrão os diretórios sites-enabled e conf.d. Dica: nunca edite diretamente os arquivos em sites-enabled; crie os blocos server em sites-available e ative com link simbólico.

Passo 3: Criar um bloco server para seu domínio

Crie um arquivo em /etc/nginx/sites-available/seu-dominio.com com o seguinte conteúdo mínimo:

server { listen 80; server_name seu-dominio.com www.seu-dominio.com; root /var/www/seu-dominio.com/html; index index.html index.htm; location / { try_files $uri $uri/ =404; } }

Depois, ative o site: sudo ln -s /etc/nginx/sites-available/seu-dominio.com /etc/nginx/sites-enabled/. Erro comum: esquecer de criar o diretório root (ex.: /var/www/seu-dominio.com/html) e tentar acessar o site, o Nginx retorna 403 Forbidden.

Passo 4: Testar e recarregar a configuração

Antes de recarregar, teste a sintaxe: sudo nginx -t. Se tudo estiver correto, a saída será algo como "syntax is ok" e "test is successful". Então recarregue: sudo systemctl reload nginx. Dica: use nginx -t sempre que modificar qualquer arquivo de configuração, um erro de sintaxe pode derrubar o servidor inteiro.

Passo 5: Otimizações básicas de performance

No arquivo /etc/nginx/nginx.conf, ajuste:

  • sendfile on;, acelera a entrega de arquivos estáticos.
  • tcp_nopush on;, melhora a eficiência de rede.
  • keepalive_timeout 65;, tempo de conexão mantida viva.
  • client_max_body_size 10M;, tamanho máximo de upload (ajuste conforme necessidade).

Para sites com muitos arquivos estáticos (CSS, JS, imagens), adicione cache de cabeçalhos no bloco server: location ~\.(jpg|jpeg|png|gif|ico|css|js)$ { expires 30d; add_header Cache-Control "public, no-transform"; } Erro comum:* definir expires muito longo sem planejar atualizações de versão, o navegador pode servir arquivos desatualizados. Use versionamento nos nomes dos arquivos ou hashes.

Checklist do que foi feito

  • [ ] Nginx instalado e rodando
  • [ ] Portas 80 e 443 liberadas no firewall
  • [ ] Arquivo nginx.conf ajustado com worker_processes e worker_connections
  • [ ] Bloco server criado em sites-available e ativado em sites-enabled
  • [ ] Diretório root criado com permissões corretas
  • [ ] Configuração testada com nginx -t
  • [ ] Serviço recarregado sem erros
  • [ ] Otimizações de sendfile, tcp_nopush e cache aplicadas

FAQ sobre configuracao Nginx

Como faço para o Nginx iniciar automaticamente com o sistema?

Use sudo systemctl enable nginx. Isso cria os links simbólicos necessários para o serviço iniciar durante o boot. Para verificar se já está habilitado, execute sudo systemctl is-enabled nginx.

O que significa o erro "403 Forbidden" no Nginx?

Geralmente indica que o diretório root não existe ou as permissões estão incorretas. Verifique se o caminho em root existe e se o usuário www-data (padrão no Ubuntu) tem permissão de leitura (e execução para diretórios). Use sudo chown -R www-data:www-data /var/www/seu-dominio.com.

Como configurar HTTPS no Nginx?

A forma mais simples é com o Certbot da Let's Encrypt: instale sudo apt install certbot python3-certbot-nginx e execute sudo certbot --nginx -d seu-dominio.com. O Certbot edita automaticamente o bloco server e agenda a renovação.

Qual a diferença entre sites-available e sites-enabled?

sites-available armazena todos os blocos server criados, mesmo os inativos. sites-enabled contém apenas links simbólicos para os arquivos que devem ser carregados. Isso permite desativar um site sem deletar sua configuração.

Como redirecionar HTTP para HTTPS no Nginx?

No bloco server que escuta na porta 80, adicione: return 301 https://$server_name$request_uri;. Isso redireciona permanentemente todo tráfego HTTP para a versão segura. Lembre de ter o bloco HTTPS configurado.

O que é proxy reverso e como configuro no Nginx?

Proxy reverso faz o Nginx receber requisições e encaminhá-las para outro servidor (ex.: uma aplicação Node.js na porta 3000). No bloco server, use: location / { proxy_pass http://localhost:3000; proxy_set_header Host $host; }.

Compartilhar:
Patrícia Lemos

Patrícia Lemos

Especialista em dados e analytics

Transforma painel cheio de número em decisão. Cuida de mensuração, dashboard e a métrica que de fato move o negócio.

Ver todos os artigos →

Leia também

11 métricas de observabilidade essenciais para monitorar aplicações
Apps e Software

11 métricas de observabilidade essenciais para monitorar aplicações

Monitorar aplicações exige mais que logs. Conheça as 11 métricas de observabilidade que todo time de operações precisa acompanhar para garantir performance e disponibilidade.

27 de julho de 2026 · Patrícia Lemos
Circuit Breaker: como implementar em microsservicos (guia)
Apps e Software

Circuit Breaker: como implementar em microsservicos (guia)

Implementar circuit breaker em microsservicos evita que uma falha em um serviço derrube todo o sistema. Neste guia, mostramos o passo a passo para configurar o padrão, desde a escolha da biblioteca até os testes de resiliência.

27 de julho de 2026 · Patrícia Lemos
Nginx vs Apache: qual servidor web escolher para produção
Apps e Software

Nginx vs Apache: qual servidor web escolher para produção

Nginx vs Apache: a escolha do servidor web certo depende do perfil do seu projeto. Enquanto um brilha com conteúdo estático e alta concorrência, o outro oferece flexibilidade e configuração simples. Veja o comparativo direto.

27 de julho de 2026 · Patrícia Lemos

Gostou? Receba mais análises

Newsletter quinzenal · curadoria editorial · sem spam