Configurar o framework Django para funcionar com o Apache é um pouco complicado. Aqui está um guia prático rápido.
Vamos começar …
Instalando Python
Por padrão, o python 2.7 está presente no Ubuntu 11.04, caso contrário
sudo apt-get install python2.7
Instalando Django
Você precisa do instalador do pip para fácil instalação
sudo apt-get install python-pip
em seguida, instale o framework Django para python
sudo pip install Django
Criação de um projeto Django
É muito fácil criar um novo projeto em Django
. Estou criando-o dentro de / var / www /
(certifique-se de que django-admin.py está em seu PATH)
cd /var/www/
django-admin.py startproject <my-project-name>
O comando acima deve criar um diretório pelo nome do projeto contendo os seguintes arquivos.
<my-project-name>/
|
|--- manage.py
|--- <my-project-name>/
|
|---- __init__.py
|---- settings.py
|---- urls.py
|---- wsgi.py
Vamos testar se criamos o projeto com sucesso, usando o servidor padrão fornecido pelo Django. Lembre-se de que isso é para o processo de desenvolvimento,
cd /var/www/<my-project-name>
python manage.py runserver
Se você abrir o navegador e abrir localhost: 8000 , ele deverá mostrar a página padrão de Sucesso.
(lembre-se de pressionar Ctrl + D no terminal para fechar o servidor)
Nota: Você pode querer criar dois diretórios * estáticos ** e modelos dentro do diretório do seu projeto para renderizar arquivos estáticos como imagens, scripts e arquivos css. templates para templates html usados para renderizar páginas. veja a configuração do apache abaixo para diretórios estáticos *
Ok …
Até agora instalamos o python, o Django e criamos um projeto no Django. Agora vamos prosseguir com a implantação do projeto no ambiente de produção, ou seja, configurando-o com o Apache.
Django.wsgi
Django precisa de um arquivo de configuração wsgi para rodar no Apache.
Crie um django.wsgi no diretório do projeto paralelo,
vim /var/www/<my-project-name>/django.wsgi
e adicione o seguinte conteúdo
import os
import sys
path='/var/www/<my-project-name>'
if path not in sys.path:
sys.path.append(path)
os.environ['DJANGO_SETTINGS_MODULE'] = '<my-project-name>.settings'
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()
Configurando o Apache
Você precisa do adaptador mod-wsgi para configurar o Django no Apache
install wsgi lib como abaixo.
sudo apt-get install libapache2-mod-wsgi
sudo a2enmod wsgi
Criação de um host virtual para seu site
Depois de instalar o mod-wsgi você precisa adicionar um host virtual no Apache
, estou chamando-o de django para que eu possa colocar todas as minhas configurações de sites Django em um só lugar
vim /etc/apache2/sites-available/django
e adicione o seguinte conteúdo dentro dele,
<VirtualHost *:80>
#My site Name
ServerName <my-site-name>.com
#Demon process for multiple virtual hosts
WSGIDaemonProcess <my-site-name> threads=5
#Pointing wsgi script to config file
WSGIScriptAlias / /<my-site-dir>/django.wsgi
WSGIProcessGroup <my-site-name>
#Your static files location
Alias /static/ "/<my-site-dir>/static/"
<Location "/media">
SetHandler None
</Location>
<LocationMatch ".(jpg|gif|png|js|css)$">
SetHandler None
</LocationMatch>
<Directory /<my-site-dir> >
WSGIProcessGroup <my-site-name>
WSGIApplicationGroup %{GLOBAL}
Order deny,allow
Allow from all
</Directory>
</VirtualHost>
Você precisa habilitar a configuração do site recém-criado no apache
sudo a2ensite django
Adicione seu site aos hosts
vim /etc/hosts
e adicionar referência como abaixo
127.0.0.1 <my-site-name>.com
Reinicie o Apache
sudo /etc/init.d/apache2 restart