wils@web ~ $ cat ~/ajuda/guia-para-fazer-deploy-de-uma-aplicacao-python-com-gunicorn-e-nginx-no-ubuntu-22-04.md

Servidores

Guia para fazer deploy de uma aplicação Python com Gunicorn e Nginx no Ubuntu 22.04

atualizado em 14/08/2026

Este guia fornece um passo a passo para fazer o deploy de uma aplicação Python utilizando Gunicorn como servidor WSGI e Nginx como servidor web reverso no Ubuntu 22.04.

Pré-requisitos

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

Passo 1: Instalar Dependências

Primeiro, atualize seu sistema e instale as dependências necessárias:

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

Passo 2: Criar e Configurar a Aplicação Python

Crie um diretório para sua aplicação e um arquivo de exemplo:

mkdir ~/minha_aplicacao
cd ~/minha_aplicacao
nano app.py

Adicione o seguinte código ao app.py:

from flask import Flask

app = Flask(__name__)

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

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

Passo 3: Instalar Gunicorn

Instale o Gunicorn usando o pip:

pip3 install gunicorn

Passo 4: Testar a Aplicação com Gunicorn

Teste sua aplicação para garantir que está funcionando:

gunicorn --bind 0.0.0.0:8000 app:app

Acesse http://seu_ip:8000 para verificar se a aplicação está rodando.

Passo 5: Configurar o Nginx

Crie um arquivo de configuração do Nginx:

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

Adicione o seguinte conteúdo:

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;
    }
}

Ative a configuração e reinicie o Nginx:

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

Passo 6: Executar Gunicorn como um Serviço

Crie um arquivo de serviço para o Gunicorn:

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

Adicione o seguinte conteúdo:

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

[Service]
User=seu_usuario
Group=www-data
WorkingDirectory=/home/seu_usuario/minha_aplicacao
ExecStart=/usr/local/bin/gunicorn --access-logfile - --workers 3 --bind unix:minha_aplicacao.sock -m 007 app:app

[Install]
WantedBy=multi-user.target

Inicie e ative o serviço:

sudo systemctl start minha_aplicacao
sudo systemctl enable minha_aplicacao

Conclusão

Agora sua aplicação Python está rodando com Gunicorn e Nginx. Para garantir a segurança e a performance, considere configurar HTTPS com Certbot.

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.