Setup de Produção¶
Este guia detalha como configurar o ambiente de produção para o Django Base de forma segura e escalável.
📋 Pré-requisitos¶
- Servidor Ubuntu 20.04+ ou CentOS 8+
- Python 3.12+
- PostgreSQL 13+
- Redis 6+
- Nginx
- Certificado SSL válido
- Domínio configurado
🚀 Configuração Rápida com Makefile¶
⚙️ Configuração Manual¶
1. Preparar o Servidor¶
2. Configurar PostgreSQL¶
Configurações importantes no postgresql.conf
:
3. Configurar Redis¶
Configurações importantes:
4. Deploy da Aplicação¶
5. Configurar Variáveis de Ambiente¶
Conteúdo do .env
:
6. Configurar Settings para Produção¶
Crie o arquivo project/project/settings_production.py
:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 |
|
7. Executar Configurações Iniciais¶
8. Configurar Gunicorn¶
Crie o arquivo /opt/django_base/gunicorn.conf.py
:
9. Configurar Systemd Service¶
Crie o arquivo /etc/systemd/system/django-base.service
:
10. Configurar Nginx¶
Crie o arquivo /etc/nginx/sites-available/django_base
:
11. Configurar SSL com Let's Encrypt¶
Adicionar ao crontab:
🐳 Configuração com Docker¶
1. Docker Compose para Produção¶
Crie o arquivo docker-compose.prod.yml
:
2. Executar com Docker¶
🔒 Segurança¶
1. Firewall¶
2. Fail2Ban¶
3. Backup Automático¶
Crie o script /usr/local/bin/backup_django_base_prod.sh
:
📊 Monitoramento¶
1. Health Check¶
Crie o endpoint em project/core/views/health.py
:
2. Logs de Monitoramento¶
3. Alertas Automáticos¶
Crie o script /usr/local/bin/monitor_django_base.sh
:
🔧 Comandos Úteis¶
✅ Checklist de Produção¶
- [ ] Servidor configurado e atualizado
- [ ] PostgreSQL configurado e otimizado
- [ ] Redis configurado e otimizado
- [ ] Aplicação deployada
- [ ] Variáveis de ambiente configuradas
- [ ] Migrações executadas
- [ ] Superusuário criado
- [ ] Arquivos estáticos coletados
- [ ] Gunicorn configurado
- [ ] Systemd service configurado
- [ ] Nginx configurado e otimizado
- [ ] SSL configurado
- [ ] Firewall configurado
- [ ] Fail2Ban configurado
- [ ] Backup automático configurado
- [ ] Monitoramento configurado
- [ ] Alertas configurados
- [ ] Testes executados
- [ ] Health check funcionando
- [ ] Logs configurados
🆘 Solução de Problemas¶
Problema: Aplicação não inicia¶
Problema: Erro de banco de dados¶
Problema: Erro de SSL¶
Problema: Performance baixa¶
🎉 Parabéns! Seu ambiente de produção está configurado e pronto para receber usuários!