FAQ

Instalar e configurar o Nginx no Debian 12 (Bookworm)

Artikel suchen

Instalar e configurar o Nginx no Debian 12 (Bookworm)

4 Views

Guia passo a passo para instalar o Nginx no Debian 12, gerir o serviço com systemd, criar um virtual host e ativar HTTPS com Let’s Encrypt. Para clientes Boxis e administradores de sistemas.

Instalar e configurar o Nginx no Debian 12 (Bookworm)

Última atualização: março de 2026
Tempo de leitura: ~12 minutos
Público: administradores de sistemas e utilizadores avançados com um servidor Debian 12.

O Nginx é um servidor HTTP de elevado desempenho e um proxy reverso. No Debian 12 (Bookworm) integra-se bem com o systemd e é adequado à frente de PHP, Node.js ou APIs a montante. Este guia cobre uma instalação limpa, recomendações básicas de segurança, um virtual host mínimo e, opcionalmente, TLS com Let’s Encrypt.


O que vai obter

  • Nginx instalado a partir dos repositórios Debian e serviço verificado.
  • Portas HTTP/HTTPS abertas (exemplo com UFW).
  • Raiz de documentos dedicada e um bloco server próprio.
  • Opcional: certificado Let’s Encrypt e renovação automática.

Pré-requisitos

  • Servidor Debian 12 com acesso SSH.
  • Conta de utilizador com privilégios sudo (evite trabalhar sempre como root).
  • Nome DNS (ex.: app.example.com) a apontar para o IP público se pretender HTTPS e renovação automática.
  • Noções básicas de linha de comandos.

Nota Boxis: em alojamento gerido pela Boxis, alterações ao nível do servidor podem estar restritas; abra um ticket antes de modificar a stack web em ambientes partilhados.


1. Atualizar índices APT e instalar o Nginx

sudo apt update
sudo apt install -y nginx

O Debian fornece uma versão estável do Nginx; repositórios externos só são necessários para módulos específicos.


2. Firewall: permitir HTTP e HTTPS (UFW)

Se o UFW estiver ativo:

sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw reload
sudo ufw status

Com nftables ou grupos de segurança na cloud, abra TCP 80 e TCP 443 aí.


3. Gerir o Nginx com systemd

Ação Comando
Ativar no arranque sudo systemctl enable nginx
Iniciar sudo systemctl start nginx
Estado sudo systemctl status nginx
Recarregar configuração sudo systemctl reload nginx
Testar sintaxe sudo nginx -t

Após editar ficheiros de configuração, execute sempre nginx -t antes de recarregar.


4. Onde fica a configuração no Debian

Estrutura típica:

  • Configuração principal: /etc/nginx/nginx.conf
  • Sites: /etc/nginx/sites-available/ (ligações em sites-enabled/)
  • Extra: /etc/nginx/conf.d/*.conf

Prefira sites-available / sites-enabled para ativar ou desativar sites sem apagar ficheiros.


5. Criar um virtual host (bloco server)

Exemplo: app.example.com com ficheiros em /var/www/app.example.com/html.

5.1 Diretórios e página de teste

sudo mkdir -p /var/www/app.example.com/html
echo '<!DOCTYPE html><html><head><meta charset="utf-8"><title>OK</title></head><body><h1>It works</h1></body></html>' | sudo tee /var/www/app.example.com/html/index.html
sudo chown -R www-data:www-data /var/www/app.example.com

5.2 Ficheiro de configuração

Crie /etc/nginx/sites-available/app.example.com.conf:

server {
    listen 80;
    listen [::]:80;
    server_name app.example.com;

    root /var/www/app.example.com/html;
    index index.html;

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

Ative o site:

sudo ln -sf /etc/nginx/sites-available/app.example.com.conf /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx

Verifique com o navegador ou curl -I http://app.example.com.


6. HTTPS com Let’s Encrypt

sudo apt install -y certbot python3-certbot-nginx

Obtenha o certificado (ajuste e-mail e domínio):

sudo certbot --nginx -d app.example.com -m si@example.com --agree-tos --non-interactive

Verifique a renovação:

sudo certbot renew --dry-run

A renovação é normalmente gerida por um timer systemd ou cron; consulte systemctl list-timers | grep certbot.


7. Boas práticas

  • Prefira reload a restart após alterações simples à configuração.
  • Registos por site se o tráfego for elevado (access_log / error_log).
  • server_tokens off; se a política o permitir.
  • PHP ou aplicações: fastcgi_pass para PHP-FPM ou proxy_pass para upstream coerente.
  • Cópia de segurança de /etc/nginx/ antes de alterações grandes.

8. Resolução rápida de problemas

Sintoma O que verificar
502 Bad Gateway Aplicação indisponível; proxy_pass / fastcgi_pass incorreto.
403 Forbidden Permissões; caminho root; SELinux/AppArmor.
Configuração rejeitada sudo nginx -t e corrija as linhas indicadas.
Falha na renovação do certificado DNS ainda aponta para este servidor; porta 80 acessível para HTTP-01.

9. Resumo

Instalou o Nginx no Debian 12, abriu as portas web, criou um virtual host e, opcionalmente, ativou HTTPS com Certbot. Em produção, refine registos, limites de pedidos e monitorização dos serviços a montante.


Temas relacionados

  • Pesquisa na base de conhecimento Boxis: /{lang}/knowledgebase/search/
  • Alojamento e DNS: categoria Alojamento e domínios quando disponível.

Documento genérico; os comandos podem variar conforme a imagem e personalizações.

Was this article helpful?
Views: 4