wils@web ~ $ cat ~/ajuda/guia-pratico-para-implantar-aplicativos-python-com-gunicorn-e-nginx-no-ubuntu-22-04.md
DevOpsGuia prático para implantar aplicativos Python com Gunicorn e Nginx no Ubuntu 22.04
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 gunicornPasso 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:appAcesse 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 nginxPasso 5: Configurando o Nginx
Crie um arquivo de configuração para o seu aplicativo:
sudo nano /etc/nginx/sites-available/meu_appAdicione 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 nginxPasso 6: Executando o Gunicorn em segundo plano
Utilize o systemd para gerenciar o Gunicorn:
sudo nano /etc/systemd/system/gunicorn.serviceAdicione 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.targetInicie e habilite o serviço:
sudo systemctl start gunicorn
sudo systemctl enable gunicornConclusã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.