Python e Django: Deploy simplificado com Gunicorn e Nginx

O comando 'runserver' é apenas para desenvolvimento. Veja como configurar o Gunicorn como servidor de aplicação e o Nginx para servir seus arquivos estáticos.

A Trindade do Deploy Python

Para colocar Django ou Flask em produção, você precisa de 3 peças:

  1. Web Server (Nginx): Recebe a requisição do usuário e serve arquivos estáticos (CSS, imagens).
  2. WSGI Server (Gunicorn): Traduz a requisição HTTP para Python.
  3. App (Django/Flask): Seu código.

Configurando o Gunicorn

Instale no seu ambiente virtual:

pip install gunicorn
gunicorn --bind 0.0.0.0:8000 meutojeto.wsgi

Para rodar em segundo plano, crie um arquivo de serviço no Systemd (`/etc/systemd/system/gunicorn.service`).

O Papel do Nginx

O Gunicorn não é bom servindo arquivos estáticos. O Nginx brilha nisso. Configure-o para servir `/static/` direto do disco e passar o resto para o Gunicorn na porta 8000.

location /static/ {
    alias /home/user/meuprojeto/static/;
}

location / {
    proxy_pass http://127.0.0.1:8000;
}

Essa é a arquitetura padrão usada por grandes empresas de tecnologia.

VPS Python Ready

Artigo Anterior SaaS B2B: Como escalar de 100 para 100k usuários sem quebrar a banca
Próximo Artigo Node.js em Produção: PM2, Reverse Proxy e boas práticas

Comentários (0)

Nenhum comentário ainda. Seja o primeiro a comentar!

Deixe seu comentário

Mínimo 10 caracteres, máximo 2000 caracteres.