wils@web ~ $ cat ~/ajuda/guia-para-implantar-aplicacoes-python-com-gunicorn-20-1-e-nginx-1-24.md

Servidores

Guia para implantar aplicações Python com Gunicorn 20.1 e Nginx 1.24

atualizado em 14/08/2026

Este guia fornece um passo a passo detalhado sobre como implantar aplicações Python utilizando Gunicorn 20.1 e Nginx 1.24. A combinação dessas ferramentas permite que você execute sua aplicação de forma eficiente e escalável.

Pré-requisitos

  • Servidor Linux (Ubuntu 20.04 ou superior recomendado)
  • Python 3.x instalado
  • pip para instalar pacotes Python
  • Acesso root ou sudo

Instalação do Gunicorn

Primeiro, instale o Gunicorn usando o pip. Execute o seguinte comando:

pip install gunicorn==20.1

Configuração da Aplicação

Considere que você já possui uma aplicação Python, por exemplo, app.py, que contém o seguinte código:

from flask import Flask

app = Flask(__name__)

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

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

Executando com Gunicorn

Para iniciar sua aplicação com Gunicorn, utilize o seguinte comando:

gunicorn --bind 0.0.0.0:8000 app:app

Isso fará com que sua aplicação esteja disponível em http://seu_ip:8000.

Instalação do Nginx

Agora, instale o Nginx com o comando:

sudo apt update
sudo apt install nginx

Configuração do Nginx

Crie um arquivo de configuração para sua aplicação em /etc/nginx/sites-available/. Por exemplo, myapp:

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 com os comandos:

sudo ln -s /etc/nginx/sites-available/myapp /etc/nginx/sites-enabled/
sudo nginx -t
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 systemd ou supervisor.

Dica: Utilize HTTPS com Let's Encrypt para melhorar a segurança da sua aplicaçã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.