wils@web ~ $ cat ~/ajuda/guia-pratico-para-realizar-o-deploy-de-aplicacoes-python-com-gunicorn-e-nginx-no-ubuntu-22-04.md

Servidores

Guia prático para realizar o deploy de aplicações Python com Gunicorn e Nginx no Ubuntu 22.04

atualizado em 06/08/2026

Este guia prático tem como objetivo ensinar como realizar o deploy de aplicações Python utilizando Gunicorn e Nginx no Ubuntu 22.04.

Pré-requisitos

  • Ubuntu 22.04 instalado
  • Python 3 e pip instalados
  • Acesso root ou sudo

Passo 1: Instalar Dependências

Primeiramente, atualize o sistema e instale o Gunicorn e o Nginx:

sudo apt update && sudo apt upgrade -y
sudo apt install python3-pip nginx -y

Passo 2: Criar e Configurar o Ambiente Virtual

É uma boa prática usar um ambiente virtual para suas aplicações Python:

pip3 install virtualenv
mkdir ~/minha_aplicacao && cd ~/minha_aplicacao
virtualenv venv
source venv/bin/activate

Passo 3: Instalar Dependências da Aplicação

Instale suas dependências, incluindo o Gunicorn:

pip install flask gunicorn

Passo 4: Criar a Aplicação Flask

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 5: Testar a Aplicação com Gunicorn

Execute a aplicação usando o Gunicorn:

gunicorn --bind 0.0.0.0:8000 app:app

Passo 6: Configurar o Nginx

Crie um arquivo de configuração para o Nginx:

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

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:

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

Passo 7: Executar o Gunicorn em Segundo Plano

Utilize o screen ou nohup para executar o Gunicorn em segundo plano:

nohup gunicorn --bind 0.0.0.0:8000 app:app &

Conclusão

Agora você tem uma aplicação Python rodando com Gunicorn e Nginx no Ubuntu 22.04. Lembre-se de monitorar os logs do Nginx e do Gunicorn para solucionar problemas. Uma dica importante é configurar um sistema de gerenciamento de processos como o systemd para garantir que sua aplicação reinicie automaticamente em caso de falhas.

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.