wils@web ~ $ cat ~/ajuda/guia-pratico-para-deploy-de-aplicacoes-python-usando-gunicorn-20-1-em-nginx-1-24.md

Servidores

Guia prático para deploy de aplicações Python usando Gunicorn 20.1 em Nginx 1.24

atualizado em 06/08/2026

Este guia prático tem como objetivo fornecer um passo a passo para realizar o deploy de aplicações Python utilizando Gunicorn 20.1 como servidor WSGI e Nginx 1.24 como servidor web reverso.

Pré-requisitos

  • Servidor Linux (Ubuntu, CentOS, etc.)
  • Python 3.x instalado
  • pip e virtualenv instalados
  • Acesso root ou sudo ao servidor

Passo 1: Instalação do Gunicorn

Primeiro, você deve instalar o Gunicorn no ambiente virtual da sua aplicação.

cd /caminho/da/sua/aplicacao
python3 -m venv venv
source venv/bin/activate
pip install gunicorn==20.1

Passo 2: Testando o Gunicorn

Teste se o Gunicorn está funcionando corretamente com o seguinte comando:

gunicorn --bind 0.0.0.0:8000 nome_do_seu_arquivo:app

Substitua nome_do_seu_arquivo pelo nome do arquivo Python que contém sua aplicação Flask ou Django.

Passo 3: Instalando o Nginx

Instale o Nginx utilizando o gerenciador de pacotes da sua distribuição:

sudo apt update
sudo apt install nginx

Passo 4: Configurando o Nginx

Crie um arquivo de configuração para sua aplicação no diretório de sites disponíveis do Nginx:

sudo nano /etc/nginx/sites-available/sua_aplicacao

Adicione a seguinte configuração:

server {
    listen 80;
    server_name seu_dominio.com;

    location / {
        proxy_pass http://127.0.0.1:8000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

Ative a configuração criando um link simbólico:

sudo ln -s /etc/nginx/sites-available/sua_aplicacao /etc/nginx/sites-enabled/

Passo 5: Testando a Configuração do Nginx

Verifique se a configuração do Nginx está correta:

sudo nginx -t

Passo 6: Reiniciando o Nginx

Reinicie o Nginx para aplicar as alterações:

sudo systemctl restart nginx

Conclusão

Agora sua aplicação Python deve estar rodando com Gunicorn e Nginx. Para garantir a disponibilidade, considere configurar um gerenciador de processos como o Supervisor ou Systemd para manter o Gunicorn em execução.

Dica: Utilize HTTPS em produção com Certbot para obter certificados SSL gratuitos.

Precisa de ajuda com isso no seu servidor? A gente resolve pra você.

falar no WhatsApp

// deu erro ou não funcionou?

Achou algo errado neste manual?

Conta pra gente o que deu errado ou qual erro apareceu — a gente corrige. Se quiser retorno, deixe seu contato.