Como subir uma aplicação Python (Flask/Django) na GeHost
Olá! Eu sou a Sensei da GeHost e vou te pegar pela mão nessa jornada de colocar sua aplicação Python no ar. Sei que olhar pra um servidor e pensar "e agora, por onde eu começo?" é super normal — então respira fundo, pega um cafezinho e vem comigo. Vamos fazer isso juntos, um passo de cada vez.
Antes de tudo: qual produto a GeHost é o certo pra você?
Essa é a pergunta mais importante, e eu preciso ser honesta com você logo de cara:
- Hospedagem compartilhada (Econômico, Básico, Médio, Plus): é ideal para sites estáticos, WordPress, PHP e afins. Ela roda no cPanel e não oferece acesso root, SSH de administrador nem Docker. Para uma aplicação Flask ou Django que precisa de um processo rodando continuamente, esse não é o produto indicado.
- VPS (linha Virtual Private Server): aqui você tem ambiente próprio com acesso root e SSH, sistema operacional (AlmaLinux ou Ubuntu) e liberdade total para instalar Python, Flask, Django, Gunicorn, Nginx, bancos de dados e o que mais precisar. É o produto certo para subir uma aplicação Python.
💡 Dica da Sensei: Se você ainda está na hospedagem compartilhada e precisa migrar para um VPS, acesse painel.gehost.com.br → Serviços → Upgrade/Downgrade ou fale com a gente por ticket. A equipe vai te orientar sobre o plano que atende sua necessidade. Os preços e especificações de cada VPS você confere na página do plano dentro do painel.
O que você precisa ter em mãos antes de começar
- Seu projeto Python pronto e testado — código Flask ou Django funcionando na sua máquina (com
requirements.txtgerado viapip freeze > requirements.txt). - Um VPS ativo na GeHost — com sistema operacional instalado (AlmaLinux ou Ubuntu, conforme sua preferência).
- Credenciais de acesso — usuário e senha (ou chave SSH) que você recebeu na entrega do VPS. Se não tiver, abra um ticket em painel.gehost.com.br → Suporte → Abrir Ticket.
- Um programa de terminal/SSH no seu computador — no Windows, use o PuTTY ou o Windows Terminal; no Mac/Linux, o próprio Terminal já serve.
- Um programa de FTP/SFTP para subir arquivos — recomendo o FileZilla (gratuito).
Passo a passo — subindo seu projeto no VPS
Passo 1: Conecte-se ao servidor via SSH
Abra seu terminal e digite:
ssh root@SEU_IP_DO_VPS
Você vai digitar a senha que recebeu na entrega. Não se assuste: ao digitar a senha, nada aparece na tela — é assim mesmo. Aperte Enter e pronto, você está dentro do servidor.
Passo 2: Atualize o sistema e instale o Python
No Ubuntu/Debian:
sudo apt update && sudo apt upgrade -y
sudo apt install python3 python3-pip python3-venv -y
No AlmaLinux:
sudo dnf update -y
sudo dnf install python3 python3-pip -y
Confira com python3 --version. Se aparecer um número (tipo 3.10, 3.11, 3.12...), está tudo certo!
Passo 3: Suba os arquivos do seu projeto
Aqui entra o FileZilla (ou outro SFTP):
- Host: o IP do seu VPS
- Usuário: root (ou o usuário que você criou)
- Senha: a mesma do SSH
- Porta: 22
Navegue até uma pasta como /var/www/meuprojeto (crie-a antes com mkdir -p /var/www/meuprojeto) e arraste os arquivos do seu projeto para lá. Não esqueça do requirements.txt!
📌 Dica da Sensei: Se preferir, você pode clonar o repositório direto no servidor com git clone. É ainda mais prático para atualizações futuras.
Passo 4: Crie um ambiente virtual e instale as dependências
Volte ao terminal SSH e rode:
cd /var/www/meuprojeto
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
O comando source venv/bin/activate "liga" o ambiente isolado do projeto. Assim as bibliotecas do seu Flask/Django não brigam com nada no servidor.
Passo 5: Configure o banco de dados
Se seu projeto usa MySQL ou PostgreSQL:
- MySQL:
sudo apt install mysql-server -y(Ubuntu) ousudo dnf install mysql-server -y(AlmaLinux). Depois crie o banco e o usuário com os comandos SQL necessários. - PostgreSQL:
sudo apt install postgresql -ye siga a configuração padrão.
No seu projeto, ajuste o arquivo de configuração (no Django é o settings.py; no Flask, geralmente um .env ou arquivo de config) com o nome do banco, usuário e senha que você criou.
Passo 6: Rode a aplicação com um servidor de produção
Atenção: o servidor embutido do Flask (flask run) ou do Django (manage.py runserver) é só para desenvolvimento. Em produção, use o Gunicorn (para Flask) ou Uvicorn/Gunicorn (para Django):
Instale: pip install gunicorn
Teste rápido:
gunicorn app:app --bind 0.0.0.0:8000 (Flask)
gunicorn meu_projeto.wsgi:application --bind 0.0.0.0:8000 (Django)
Se aparecer no navegador SEU_IP:8000 e sua página carregar, parabéns! 🎉
Passo 7: Coloque a aplicação para rodar sozinha (systemd)
Para que a aplicação volte a funcionar se o servidor reiniciar, crie um serviço systemd. Crie o arquivo /etc/systemd/system/meuprojeto.service com:
[Unit]
Description=Minha Aplicação Flask/Django
After=network.target
[Service]
User=root
WorkingDirectory=/var/www/meuprojeto
ExecStart=/var/www/meuprojeto/venv/bin/gunicorn app:app --bind 127.0.0.1:8000
Restart=always
[Install]
WantedBy=multi-user.target
Ative com:
sudo systemctl enable meuprojeto
sudo systemctl start meuprojeto
Passo 8: Configure o Nginx como proxy reverso
Para que as pessoas acessem pelo domínio (porta 80/443) e não pelo IP:8000:
sudo apt install nginx -y (ou sudo dnf install nginx -y)
Crie uma configuração apontando o domínio para 127.0.0.1:8000, ative com sudo systemctl restart nginx e, se quiser HTTPS, use o Certbot (Let's Encrypt) para emitir um certificado gratuito.
Dicas de ouro da Sensei 🥋
- Backup é com você: a menos que você tenha contratado backup expressamente, a responsabilidade por cópias de segurança dos seus arquivos e banco de dados é do cliente. Configure um backup automático (rsync, cron, ou upload para um serviço de nuvem) o quanto antes.
- Teste em ambiente separado antes de mexer em produção. Se possível, tenha um segundo VPS ou uma pasta separada para testar atualizações.
- Nunca deixe o servidor de desenvolvimento rodando em produção. Ele não foi feito para isso e pode travar ou expor dados.
- Documente tudo: anote em um arquivo os comandos que você usou, os caminhos, os nomes de banco. Daqui a três meses você vai agradecer a si mesmo.
Precisa de ajuda?
Se em algum passo você travar, não se desespere — a gente está aqui:
- Base de conhecimento: gehost.com.br/br/knowledge-base.php
- Abrir um ticket: painel.gehost.com.br → Suporte → Abrir Ticket
- WebChat: disponível no site gehost.com.br
- E-mail: contato@entexp.com.br
💛 Lembrete carinhoso: você tem 30 dias de suporte grátis após a entrega do serviço. Use sem medo! A equipe existe pra te ajudar a colocar tudo pra funcionar. E se precisar de um plano de VPS que atenda melhor o tamanho da sua aplicação, é só consultar as opções na página do plano dentro do painel ou abrir um ticket que a gente te orienta.
Agora vai lá, abre o terminal e manda ver. Você consegue! E se precisar, a Sensei está por aqui. 🐱👤