Pular para o conteúdo principal

🐍 Configurando Apache com Python Django (WSGI) na SaveinCloud

⚠️ Todas as configurações demonstradas neste manual são exemplos simples e hipotéticos. Pode ser necessário realizar adaptações conforme a topologia do seu ambiente.

Este guia mostra como realizar o deploy de uma aplicação Django utilizando Apache com WSGI dentro da plataforma SaveinCloud.


✅ Requisitos recomendados

Antes de iniciar o deploy, certifique-se de que o projeto contenha:

  • Um arquivo wsgi.py configurado corretamente;

  • Um arquivo requirements.txt com as dependências da aplicação;

  • O arquivo settings.py com o parâmetro ALLOWED_HOSTS preenchido.


Parte 1 - Configurando o Apache Python na Topologia

🔧 Passo 1 – Montagem da Topologia

Adicione à camada de aplicação o Apache Python. Ajuste os cloudlets reservados e o limite de escalabilidade conforme a necessidade do seu projeto e aplique a alteração.

imagem

Opcional: Adicione um NGINX como Load Balancer e/ou um banco de dados (ex: MariaDB, MySQL).

Se utilizar o NGINX, siga a documentação específica.

imagem


📦 Passo 2 – Métodos de Deploy da Aplicação

A SaveinCloud oferece os seguintes métodos de deploy:

  • Arquivo local (.zip, .tar, etc.)

  • URL externa

  • Repositórios Git/SVN

Neste guia, utilizaremos o método via Git.

Selecione o nó Apache Python para iniciar o deploy:

imagem


🔓 Deploy via Repositório Público

  1. Acesse o menu de deploy e escolha a opção Git/SVN:

imagem

  1. Clique em Adicionar novo repositório:

imagem

  1. Após configurar, acompanhe o progresso do deploy:

imagem

  1. Quando finalizado com sucesso, a seguinte mensagem será exibida:

imagem


🔐 Deploy via Repositório Privado

  1. Gere um Personal Access Token no GitHub:
  • Acesse: Settings > Developer settings > Personal access tokens

  • Crie um token com permissão repo

imagem

imagem

  1. No painel da SaveinCloud, acesse novamente o menu de deploy e selecione Git/SVN.

  2. Preencha os dados do repositório:

  • Marque a opção Usar autenticação

  • Insira o usuário e o token gerado

imagem


Parte 2 - Configuração do Projeto Django

⚙️ Passo 3 – Configurando o Ambiente

settings.py – Atualizando o ALLOWED_HOSTS:


ALLOWED_HOSTS = ['*']

imagem


wsgi.conf – Configurando o WSGI (Apache):

Edite o arquivo wsgi.conf na plataforma:


WSGIDaemonProcess apache user=apache group=apache processes=2 threads=10 python-path="/var/www/webroot/ROOT" python-home="/var/www/webroot/ROOT/venv"



ServerRoot "/var/www/webroot/ROOT/"

DocumentRoot "/var/www/webroot/ROOT/"

imagem


Variável WSGI_SCRIPT – Definindo caminho do wsgi.py

Acesse a aba Variáveis da plataforma e configure:


WSGI_SCRIPT=/var/www/webroot/ROOT/seu_app/wsgi.py

imagem


🐍 Passo 4 – Criando e Ativando a Virtualenv

Abra o WebSSH:


cd /var/www/webroot/ROOT

python -m venv venv

source venv/bin/activate

pip install -r requirements.txt

deactivate

imagem

⚠️ Versões do Django acima de 5.0 não são compatíveis com SQLite.


🔎 Passo 5 – Testando a Aplicação

Reinicie o ambiente e acesse a URL pública para testar.

imagem

Se tudo estiver correto, sua aplicação Django estará acessível.


📘 Documentação complementar:


🛠️ Troubleshooting

❌ 1. Erro: OperationalError: no such table: ...

Causa: Migrações não aplicadas.

Solução:


python manage.py makemigrations

python manage.py migrate


❌ 2. Erro: ModuleNotFoundError: No module named 'django'

Causa: venv desativada ou Django não instalado.

Solução:


source venv/bin/activate

pip install django


❌ 3. Aplicação não carrega após reinício

Causa comum: Caminho incorreto do WSGI_SCRIPT ou erro no wsgi.conf.

Verifique:

  • python-path, python-home

  • ServerRoot, DocumentRoot

  • Caminho do wsgi.py