TeHospedo

www.TeHospedo.com.br

TeHospedo - Serviços de Internet
TeHospedia

Django

De TeHospedia

A linguagem Python na TeHospedo é suportada na plataforma Linux em modo cgi ou fastcgi.

  • versão 2.4: /usr/bin/python (padrão)
  • versão 2.5: /usr/bin/python2.5


Conteúdo

[editar] Django

O Django é disponibilizado em FastCGI, que é uma camada que cria persistência ao CGI

[editar] Características da implementação TeHospedo Django com FastCGI

  • velocidade comparável as implementações com mod_python mas com vantagem de processos isolados
  • boa escalabilidade: capaz de atender a até dezenas de milhares de hits por dia
  • processo FastCGI roda com o usuário ssh do cliente, assim, os arquivos lidos/gravados/executados pelos scripts serão feitos com a permissão do usuário.
  • através do ssh é possível terminar o processo FastCGI para reler as configurações
  • possibilidade de instalar qualquer versão do Django ou usar a última versão estável que já é pré-disponibilizada no servidor
  • nossos administradores instalarão as extensões python que você precisa, se for possível

[editar] Planos disponíveis

Consulte nossa página comercial sobre hospedagem de sites com Django

[editar] Instalação do Django

  • solicite acesso SSH ao suporte (somente disponível em servidor Linux)
  • após, siga os passos abaixo, que prepara o ambiente Django com FastCGI na TeHospedo. Recomendamos seguir os passos neste artigo para ampliar seu conhecimento. Se não conseguir, solicite ao suporte para que seja feito uma instalação.

[editar] Iniciando o ambiente

  • usuários Linux: acesse sua conta por SSH:
ssh usuario@example.com
  • usuários Windows: acesse sua conta por SSH usando o PuTTY, um cliente gratuito SSH
  • dentro do SSH, você estará no seu $HOME, digamos /home/usuario
  • vamos criar uma pasta para seus projetos. Dentro dessa pasta, você colocará subpastas, cada qual com um projeto em Django.
mkdir ~/django_projects

[editar] Opção 1: usando versão SVN do Django

Se você precisar usar a versão SVN, pode instalar o Django localmente, conforme essas instruções. Senão, vá para "Opção 2: usando versão release do Django".

Atenção: Se você seguir o passo "Opção 2: usando versão release do Django", pule este passo.

  • vamos criar uma pasta dentro de seu $HOME para colocar a versão atual do SVN do Django:
mkdir ~/django_src
  • agora vamos baixar a versão do SVN do Django, execute o comando:
svn co http://code.djangoproject.com/svn/django/trunk/ ~/django_src
  • edite o arquivo ".bash_profile" lembrando que esse arquivo fica na raiz e é invisível, para editar esse e qualquer outro arquivo você pode usar o editor nano, que é mais simples, ou o vi, par ao nano digite:
nano ~/.bash_profile
  • com o arquivo aberto adicione as seguintes linhas no final do arquivo:
export PATH=$PATH:$HOME/django_src/django/bin
export PYTHONPATH=$PYTHONPATH:$HOME/django_src:$HOME/django_projects
  • digite ctrl+o tecle "enter" e depois ctrl+x para fechar o arquivo.
  • execute o comando para "usar" a nova configuração
source .bash_profile

[editar] Opção 2: usando versão release do Django

Nesta opção você usará uma instalação global do Django no servidor. Já deve haver uma instalação estar instalado no servidor (se não estiver, basta solicitar ao suporte). Usamos sempre sua última versão disponibilizada pelo http://www.djangoproject.com/, seja a 0.96.

Atenção: Se você seguir o passo "Opção 1: usando versão SVN do Django", pule este passo.

  • edite o arquivo ".bash_profile" lembrando que esse arquivo fica na raiz e é invisível, para editar esse e qualquer outro arquivo você pode usar o editor nano, que é mais simples, ou o vi, par ao nano digite:
nano ~/.bash_profile
  • com o arquivo aberto adicione as seguintes linhas no final do arquivo:
export PYTHONPATH=$PYTHONPATH:$HOME/django_projects
  • digite ctrl+o tecle "enter" e depois ctrl+x para fechar o arquivo.
  • execute o comando para "usar" a nova configuração
source .bash_profile

[editar] Iniciando um projeto Django

Agora que você optou por usar a versão SVN ou uma versão released do Django e configurou seu ambiente, vamos criar um novo projeto.

  • dentro da pasta dos projetos, vamos inicializar um projeto, você poderá criar quantos projetos precisar. Em nosso exemplo usaremos meuprojeto, que é o nome do seu projeto, deve estar todo em minúsculo, sem espaços e carácteres especiais:
mkdir -p ~/django_projects
cd ~/django_projects
django-admin.py startproject meuprojeto
  • altere as permissões do arquivo settings.py para impedir leitura/gravação na mesma
chmod 0600 ~/django_projects/meuprojeto/settings.py

Agora vamos preparar o .htaccess e o FastCGI. Para preparar o FastCGI, para isso, iremos usar o fcgi.py, que é um FastCGI/WSGI gateway para o Python de autoria do Allan Saddi. Também usaremos mod_rewrite com o .htaccess para preparar as URLs amigáveis que o Django precisa.

Aqui temos três opções:

  1. usar o Django diretamente na raíz de seu site: http://example.com/
  2. usar o Django diretamente em um subdomínio de seu site: http://meuprojeto.example.com/
  3. usar o Django em uma subpasta de seu site ou subdomínio: http://example.com/meuprojeto/

Primeiro crie o subdomínio pelo painel de controle, se for o caso. Nos outros dois casos a única diferença é no .htaccess. Na opção 1 e 2, quando for configurar o .htaccess use:

RewriteBase /

Na opção 3, use no .htaccess:

RewriteBase /aplicacao/

Em qualquer um dos casos, você deve acessar a pasta web onde a aplicacação está e criá-la se não existe.

Vamos continuar a documentação no caso 3.

  • você pode criar uma pasta em branco
mkdir ~/public_html/meuprojeto/
chmod 0755 ~/public_html/meuprojeto/
  • agora vamos preparar o FastCGI. Primeiro baixando o gateway
cd ~/public_html/meuprojeto/
wget http://svn.saddi.com/py-lib/trunk/fcgi.py
chmod 0755 fcgi.py
  • agora vamos preparar o dispatch para o FastCGI. Vamos abrir o arquivo:
nano ~/public_html/meuprojeto/dispatch.fcgi
  • para o conteúdo do dispatch.fcgi, use o exemplo abaixo, somente alterando as palavras USUARIO para seu usuário SSH e MEUPROJETO para o nome de seu projeto, ambos em minúsculo, usei maiúsculo apenas para facilitar a localização. Outra questão, se você não está usando a versão SVN do Django, pode comentar a linha 3 (/home/USUARIO/django_src) com um # na frente.

Modelo para SVN:

#!/usr/bin/python
import sys
altpath = sys.path
sys.path = ['/home/USUARIO/django_src']
sys.path += ['/home/USUARIO/django_projects']
sys.path += altpath
from fcgi import WSGIServer
from django.core.handlers.wsgi import WSGIHandler
import os
os.environ['DJANGO_SETTINGS_MODULE'] = 'MEUPROJETO.settings'
WSGIServer(WSGIHandler()).run()
  • salve e feche, vamos tornar o dispatcher executável:
chmod 0755  ~/public_html/meuprojeto/dispatch.fcgi


Modelo para versao 0.96

#!/usr/bin/python
import sys
sys.path += ['/home/USUARIO/django_src']
sys.path += ['/home/USUARIO/django_projects']
from fcgi import WSGIServer
from django.core.handlers.wsgi import WSGIHandler
import os
os.environ['DJANGO_SETTINGS_MODULE'] = 'MEUPROJETO.settings'
WSGIServer(WSGIHandler()).run()
  • salve e feche, vamos tornar o dispatcher executável:
chmod 0755  ~/public_html/meuprojeto/dispatch.fcgi


Vamos agora preparar o .htaccess para ligar tudo.

  • edite o arquivo .htaccess
nano ~/public_html/meuprojeto/.htaccess

Neste arquivo inclua:

RewriteEngine On
RewriteBase /
RewriteRule ^(dispatch\.fcgi/.*)$ - [L]
RewriteRule ^(.*)$ dispatch.fcgi/$1 [L]

Lembrando que o RewriteBase deve ser ajustado conforme anteriormente explicado.


Com isso você já pode abrir um browser e testar sua nova aplicação Django. Se tudo ocorrer bem irá aparecer a página padrão do Django com a frase “It worked!” e você agora deve acessar django_projects/meuprojeto e editar as configurações.

[editar] Configurando o media

Precisamos criar um link para a pasta “media” do admin. Se você instalou a versão SVN:

ln -s ~/django_src/django/contrib/admin/media ~/public_html/admin_media

Se você não instalou a versão SVN do Django:

ln -s /usr/local/src/Django-0.96.1/django/contrib/admin/media ~/public_html/admin_media

Com isso criamos um link chamado “admin_media” na pasta “public_html”, para outras pastas media faça o mesmo procedimento.

Agora se você optou por publicar sua aplicação direto no public_html/ ou em um subdomínio, é necessário editar o .htaccess e colocar, logo após a linha

RewriteRule ^(dispatch\.fcgi/.*)$ - [L]

uma linha:

RewriteRule ^(admin_media/.*)$ - [L]

[editar] Encerrando processando FastCGI

Digite no SSH:

kill -9 `ps auxw | grep dispatch | grep $USER | awk '{print $2}'`

[editar] Obtendo suporte

Nosso objetivo com essa documentação é permitir o cliente fazer seu deploy sozinho, porém, precisando, na TeHospedo você pode contar com suporte avançado Django.

Os passos de instalação foram desenvolvidos conjuntamente pela TeHospedo e nosso "beta-tester" Django, Rafael Bastiani, que publicou também sua versão em seu blog.

[editar] Links externos

Ferramentas pessoais
Relacionamento
Está página foi modificada pela última vez em 19:13, 13 Julho 2008. - Esta página foi acessada 4 310 vezes. - Sobre a TeHospedia
 
Capa Empresa Mapa do site Política de uso Infra-estrutura Trabalhe conosco