Saiba como fazer o deploy do Django com FastCGI através do Virtualenv:
- Requisitos
- Etapa inicial: Instalação do Virtualenv
- Etapa intermediária: Deploy do Django
- Etapa final: Teste da aplicação
Requisitos
- ✓ Somente a versão 1.11 do Django é suportada nos ambientes compartilhados;
- ✓ O JailedShell deve estar habilitado na conta, caso não esteja solicite ao suporte a liberação do comando;
Etapa inicial: Instalação do Virtualenv
1Realize o download do pacote com o curl
curl --location --output virtualenv-16.6.2.tar.gz https://github.com/pypa/virtualenv/tarball/16.6.2
2Extraia o conteúdo do pacote
tar xvzf virtualenv-16.6.2.tar.gz
3Crie e ative o ambiente
#criando o ambiente (.virtualenv) com o binário da versão 2.7 disponível
python_enable_2.7
python pypa-virtualenv-fa40003/virtualenv.py .virtualenv || python2.7 pypa-virtualenv-fa40003/virtualenv.py .virtualenv
#Ativando o Virtualenv para instalarmos as bibliotecas necessárias
source .virtualenv/bin/activate
4Instale as bibliotecas necessárias para iniciar o projeto com o Django
#Instalando as bibliotecas:
pip install django==1.11
pip install flup==1.0.2
pip install django-wsgi
Etapa intermediária: Deploy do Django
1Inicie o projeto no Django e crie a estrutura inicial para funcionamento da aplicação
#iniciando o projeto
django-admin startproject mydjango
2Crie o arquivo .htaccess com as configurações do Handler FCGI e do redirecionamento para o arquivo index.fcgi que irá ser criado
AddHandler fcgid-script .fcgi
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.fcgi/$1 [QSA,L]
3Crie o arquivo index.fcgi na raiz da sua aplicação, com o seguinte conteúdo:
#!/usr/bin/scl enable python27 -- /home/CONTA/.virtualenv/bin/python
import os, sys
from flup.server.fcgi import WSGIServer
from django.core.wsgi import get_wsgi_application
sys.path.insert(0, "/home/CONTA/mydjango")
os.environ['DJANGO_SETTINGS_MODULE'] = "mydjango.settings"
WSGIServer(get_wsgi_application()).run()
4Configure o domínio junto com o arquivo mydjango/mydjango/settings.py. Use o conteúdo abaixo em seu editor de textos:
ALLOWED_HOSTS = ['seudominio.com.br']
Etapa final: Teste da aplicação
Com o ambiente configurado e o deploy finalizado, será possível verificar se a execução do arquivo ‘index.fcgi’ está de acordo:
1Adicione a permissão 0755 no arquivo, execute o comando abaixo:
chmod 0755 index.fcgi
2Verifique se a execução está de acordo, chame o arquivo adicionando o “./” na frente dele:
./index.fcgi
3Com o retorno do código, acesse o local onde configurou o ambiente Django e verifique o acesso:
- Por exemplo, se você o configurou em um subdiretório “site”, dentro do diretório public_html, acesse conforme abaixo:
http://seudominio.com.br/index.fcgi