wils@web ~ $ cat ~/ajuda/guia-completo-para-fazer-deploy-de-aplicacoes-python-com-gunicorn-20-1-0-e-nginx-1-24.md

Servidores

Guia completo para fazer deploy de aplicações Python com Gunicorn 20.1.0 e Nginx 1.24

atualizado em 02/09/2026

Este guia fornece um passo a passo detalhado para realizar o deploy de aplicações Python utilizando Gunicorn 20.1.0 como servidor WSGI e Nginx 1.24 como servidor web reverso.

Introdução

O Gunicorn é um servidor WSGI para aplicações Python que se destaca pela sua simplicidade e eficiência. O Nginx atua como um proxy reverso, facilitando o gerenciamento de requisições e melhorando a performance. Neste guia, usaremos ambos para implementar uma aplicação web.

Pré-requisitos

  • Servidor Linux (Ubuntu 20.04 ou superior recomendado).
  • Python 3.6 ou superior instalado.
  • pip para instalação de pacotes Python.
  • Acesso root ou sudo ao servidor.

Passo 1: Instalação do Gunicorn

Primeiro, instale o Gunicorn usando o pip:

pip install gunicorn==20.1.0

Passo 2: Criação da Aplicação Python

Crie um arquivo chamado app.py com o seguinte conteúdo:

from flask import Flask

app = Flask(__name__)

@app.route('/')
def hello():
    return 'Hello, World!'

if __name__ == '__main__':
    app.run()

Passo 3: Teste a Aplicação Localmente

Execute a aplicação para garantir que tudo está funcionando:

python app.py

Acesse http://localhost:5000 para verificar.

Passo 4: Configuração do Gunicorn

Inicie o Gunicorn para servir sua aplicação:

gunicorn --bind 0.0.0.0:8000 app:app

Passo 5: Instalação e Configuração do Nginx

Instale o Nginx:

sudo apt update
sudo apt install nginx

Crie um arquivo de configuração para sua aplicação:

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

Adicione o seguinte conteúdo:

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 e reinicie o Nginx:

sudo ln -s /etc/nginx/sites-available/myapp /etc/nginx/sites-enabled/
sudo systemctl restart nginx

Conclusão

Agora sua aplicação Python está rodando com Gunicorn e Nginx. Para garantir a continuidade do serviço, considere usar um gerenciador de processos como supervisor ou systemd.

Dica: Sempre teste sua configuração do Nginx com sudo nginx -t antes de reiniciar o serviço para evitar problemas de configuração.

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.