wils@web ~ $ cat ~/ajuda/guia-pratico-para-fazer-o-deploy-de-aplicacoes-flask-usando-gunicorn-e-nginx-no-ubuntu-22-04.md
DesenvolvimentoGuia prático para fazer o deploy de aplicações Flask usando Gunicorn e Nginx no Ubuntu 22.04
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.