05 - Nginx
Site com nginx na EC2¶
Roteiro para sair de uma instância EC2 limpa até o site HTML/CSS/JS no ar com Nginx, incluindo segurança mínima e comando de publicação.
1. Criar/usar a instância EC2¶
- AMI: Amazon Linux (2 ou 2023).
- Tipo: t2.micro/t3.micro (se couber no Free Tier).
- Security Group:
- SSH 22: apenas seu IP.
- HTTP 80: 0.0.0.0/0.
- HTTPS 443: 0.0.0.0/0 (se for usar TLS).
- Conecte via SSH:
2. Instalar e iniciar Nginx¶
- Amazon Linux 2:
3. Criar pasta do site e permissões¶
4. Subir seus arquivos HTML/CSS/JS¶
- Do seu computador para a EC2 (exemplo com scp):
5. Configurar virtual host no Nginx¶
- Criar arquivo de configuração:
sudo tee /etc/nginx/conf.d/meusite.conf > /dev/null << 'EOF'
server {
listen 80;
server_name _;
root /var/www/meusite;
index index.html;
location / {
try_files $uri $uri/ /index.html;
}
location ~* \.(css|js|png|jpg|jpeg|gif|svg|ico|webp)$ {
expires 7d;
add_header Cache-Control "public, immutable";
}
}
EOF
- Validar e recarregar:
6. Testar no navegador¶
- Acesse:
7. (Opcional, recomendado) Domínio + HTTPS¶
- Aponte DNS (A record) para o IP da EC2.
- Instale Certbot e emita certificado LetsEncrypt.
- Com SSL ativo, redirecione HTTP para HTTPS.
Checklist rápido
- Nginx rodando:
systemctl status nginx - Porta 80 liberada no Security Group
- Arquivos em
/var/www/meusite nginx -tsem erros- Site abrindo por IP (e depois por domínio)