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

Desenvolvimento

Guia prático para fazer o deploy de aplicações Flask usando Gunicorn e Nginx no Ubuntu 22.04

atualizado em 06/09/2026

Este guia prático tem como objetivo ensinar como fazer o deploy de aplicações Flask utilizando Gunicorn e Nginx no Ubuntu 22.04. Seguindo os passos abaixo, você conseguirá configurar um ambiente de produção robusto e eficiente.

Pré-requisitos

  • Ubuntu 22.04 instalado.
  • Acesso root ou permissões sudo.
  • Python 3 e pip instalados.
  • Flask instalado.

Passo a Passo

1. Instalar Gunicorn

Gunicorn é um servidor WSGI para aplicações Python. Para instalá-lo, execute:

pip install gunicorn

2. Criar um arquivo de 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()

3. Testar a aplicação localmente

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

python app.py

4. Iniciar Gunicorn

Inicie o Gunicorn para rodar sua aplicação:

gunicorn --bind 0.0.0.0:8000 app:app

5. Instalar Nginx

O Nginx será utilizado como um servidor reverso. Instale-o com:

sudo apt update
sudo apt install nginx

6. Configurar Nginx

Crie um arquivo de configuração para sua aplicação em /etc/nginx/sites-available/flaskapp:

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/flaskapp /etc/nginx/sites-enabled/

7. Reiniciar o Nginx

Reinicie o Nginx para aplicar as mudanças:

sudo systemctl restart nginx

Conclusão

Agora sua aplicação Flask está rodando com Gunicorn e Nginx. Para uma melhor performance, considere configurar um sistema de gerenciamento de processos como supervisor para manter o Gunicorn rodando em segundo plano.

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.