Como subir uma aplicação Python (Flask/Django) na GeHost
Opa! 👋 Aqui é a Sensei da GeHost. Bora aprender como colocar sua aplicação Python no ar de forma simples e segura? Não se assusta com a quantidade de passos — você vai entender cada um.
📋 Pré-requisitos
- Uma aplicação Python funcional (Flask ou Django) pronta no seu computador.
- Um plano de hospedagem GeHost Médio ou Plus (não funciona no Econômico).
- Acesso ao painel de controle (recebe o login por e-mail quando contrata).
- Um gerenciador de versões como Git (opcional, mas recomendado — facilita muito).
🔧 Passo 1: Preparar sua aplicação
Antes de subir para a hospedagem, sua aplicação precisa estar "arrumada". Faça isso no seu computador:
- Crie um arquivo
requirements.txtcom todas as bibliotecas que sua app usa. Abra o terminal na pasta do projeto e rode:pip freeze > requirements.txt
Esse arquivo lista tudo que o servidor vai precisar instalar. - Crie um arquivo
.gitignore(se usar Git) pra não subir arquivos desnecessários como__pycache__,.envou pastavenv. - Teste localmente que tudo funciona:
python app.pyoupython manage.py runserver(Django).
🚀 Passo 2: Enviar sua aplicação para a hospedagem
Você tem duas formas de fazer isso:
Opção A: Usando Git (recomendado)
- Crie um repositório no GitHub (ou GitLab) e coloque seu código lá.
- Acesse o painel GeHost, vá em Gerenciador de Arquivos ou use SSH.
- No terminal do servidor (SSH), navegue até a pasta pública (
public_html) e clone o repositório:cd ~
git clone <sua-url-do-repositorio>
Opção B: Enviar arquivos via FTP
- Faça o download de um cliente FTP (FileZilla, WinSCP ou Cyberduck).
- Conecte usando as credenciais do painel GeHost (user, senha e servidor FTP).
- Envie toda a pasta do seu projeto para
public_html/app_python(ou o nome que quiser).
⚙️ Passo 3: Conectar via SSH e instalar as dependências
Agora você entra "dentro" do servidor para preparar tudo. Use SSH (está no painel GeHost, aba "Shell / SSH Access").
- Conecte via SSH usando um terminal (Mac/Linux) ou PuTTY (Windows).
- Navegue até a pasta da sua app:
cd public_html/app_python
- Crie um ambiente virtual (isola as dependências da sua app das outras):
python3 -m venv venv
- Ative o ambiente virtual:
source venv/bin/activate
(Você vai ver(venv)aparecer no terminal — sinal de que deu certo.) - Instale as dependências do seu projeto:
pip install -r requirements.txt
🌐 Passo 4: Configurar o servidor web (Gunicorn + Nginx)
Para que sua app Python funcione em produção, você precisa de um "intermediário" — o Gunicorn (executa sua app) + Nginx (entrega para o visitante). Ainda no SSH:
- Instale o Gunicorn (com a venv ativa):
pip install gunicorn
- Teste se a app roda com Gunicorn (Flask):
gunicorn -w 4 -b 0.0.0.0:8000 app:app
(Troqueapp:apppelo seu arquivo e classe. Para Django:seu_projeto.wsgi:application.) - Pare o teste (Ctrl+C no terminal).
- Configure o Nginx — peça à equipe GeHost para criar um virtual host apontando para a porta 8000 do Gunicorn. Mande uma mensagem avisando que vai precisar dessa configuração.
💡 Dica: Se tiver dificuldade com Nginx, a equipe da GeHost pode ajudar — é parte do suporte padrão dos primeiros 30 dias. Só avisa!
🎬 Passo 5: Colocar em produção (systemd ou supervisor)
Para a aplicação ficar "viva" (rodando sempre, mesmo se o servidor reiniciar), use o systemd (mais moderno e recomendado):
- Crie um arquivo de serviço. Como root ou com sudo, crie
/etc/systemd/system/app_python.service:[Unit]
(Adapte os caminhos e o comando Gunicorn para sua app.)
Description=Minha App Python
After=network.target
[Service]
Type=notify
User=seu_usuario
WorkingDirectory=/home/seu_usuario/public_html/app_python
ExecStart=/home/seu_usuario/public_html/app_python/venv/bin/gunicorn -w 4 -b 127.0.0.1:8000 app:app
Restart=always
RestartSec=10
[Install]
WantedBy=multi-user.target - Ative o serviço:
sudo systemctl enable app_python
sudo systemctl start app_python - Verifique se está rodando:
sudo systemctl status app_python
✅ Dicas de ouro
- Variáveis de ambiente: Nunca coloque senhas/chaves no código. Use um arquivo
.enve a bibliotecapython-dotenv. - Banco de dados: Se usa MySQL/PostgreSQL, configure no painel e no seu
settings.py(Django) ou config (Flask). - HTTPS/SSL: O painel oferece certificados gratuitos — ativa no seu domínio.
- Logs: Sempre verifique os logs da aplicação se algo der errado:
sudo journalctl -u app_python -f. - Atualizar a app: Fez alterações? Se usar Git, puxe as mudanças (
git pull) e reinicie o serviço:sudo systemctl restart app_python.
🆘 Algo deu errado?
Se a aplicação não sobe ou volta um erro:
- Verifique os logs:
sudo journalctl -u app_python -n 50(últimas 50 linhas). - Teste manualmente: ative a venv e rode a app em debug.
- Confira as permissões das pastas (
chmod 755para pastas,644para arquivos). - Certifique-se que todas as dependências foram instaladas no servidor.
- Não sabe resolver? Entre em contato com a equipe GeHost pelo suporte — é pra isso que a gente está aqui. 😊
Pronto! Sua aplicação Python agora está no ar. Boa sorte, Dev! 🎉