wils@web ~ $ cat ~/ajuda/guia-pratico-para-implantar-aplicativos-python-com-gunicorn-e-nginx-no-ubuntu-22-04.md

DevOps

Guia prático para implantar aplicativos Python com Gunicorn e Nginx no Ubuntu 22.04

atualizado em 16/08/2026

Este guia prático aborda a implantação de aplicativos Python utilizando Gunicorn e Nginx no Ubuntu 22.04, proporcionando um ambiente robusto e escalável.

Pré-requisitos

  • Servidor Ubuntu 22.04
  • Python 3.x instalado
  • pip e virtualenv instalados
  • Acesso root ou sudo

Passo 1: Instalação do Gunicorn

Primeiro, crie um ambiente virtual e instale o Gunicorn.

mkdir meu_app && cd meu_app
python3 -m venv venv
source venv/bin/activate
pip install gunicorn

Passo 2: Criação do aplicativo Flask

Crie um arquivo chamado app.py e adicione o seguinte código:

from flask import Flask

app = Flask(__name__)

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

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

Passo 3: Testando o Gunicorn

Execute o Gunicorn para testar o aplicativo:

gunicorn --bind 0.0.0.0:8000 app:app

Acesse http://seu_ip:8000 para verificar se tudo está funcionando.

Passo 4: Instalando o Nginx

Instale o Nginx com o seguinte comando:

sudo apt update
sudo apt install nginx

Passo 5: Configurando o Nginx

Crie um arquivo de configuração para o seu aplicativo:

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

Adicione a seguinte configuração:

server {
    listen 80;
    server_name seu_ip;

    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/meu_app /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl restart nginx

Passo 6: Executando o Gunicorn em segundo plano

Utilize o systemd para gerenciar o Gunicorn:

sudo nano /etc/systemd/system/gunicorn.service

Adicione o seguinte conteúdo:

[Unit]
Description=gunicorn daemon
After=network.target

[Service]
User=seu_usuario
Group=www-data
WorkingDirectory=/caminho/para/meu_app
Environment="PATH=/caminho/para/meu_app/venv/bin"
ExecStart=/caminho/para/meu_app/venv/bin/gunicorn --access-logfile - --workers 3 --bind unix:/caminho/para/meu_app/meu_app.sock app:app

[Install]
WantedBy=multi-user.target

Inicie e habilite o serviço:

sudo systemctl start gunicorn
sudo systemctl enable gunicorn

Conclusão

Agora você tem um aplicativo Python rodando com Gunicorn e Nginx no Ubuntu 22.04. Para otimizar o desempenho, considere configurar o supervisor ou Docker para gerenciar seus processos.

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.