Для работы с Django необходимы http-сервер Apache и модуль к нему - mod-wsgi. Модуль mod_wsgi пришел на смену mod_python и в настоящее время рекомендуется авторами Django как наиболее подходящее решение для использования в реальных условиях.
Установка mod_wsgi тривиальна:
apt-get install libapache2-mod-wsgi
Необходимо создать wsgi-обработчик. Для этого в своем django проекте я создал каталоги
/home/django-trunk/dtest1/apache - для mod.wsgi-обработчика
../logs - для лог файлов apache
../css - таблицы стилей
../js - скрипты
../medi - для прочих статических файлов
Содержимое файла mod.wsgi:
import os, sys
sys.path.append('home/django-trunk')
os.environ['DJANGO_SETTINGS_MODULE'] = 'dtest1.settings'
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()
Далее, чтобы код проекта отзывался на какой-либо URL-адрес, необходимо настроить виртуальный хост Apache. Необходимо создать новый файл /etc/apache2/sites-available/django-test1:
<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName django-test1.local
# статические файлы
Alias /media/ "/home/django-trunk/dtest1/media/"
<Location "/media">
SetHandler None
</Location>
Alias /css/ "/home/django-trunk/dtest1/css/"
<Location "/css">
SetHandler None
</Location>
Alias /js/ "/home/django-trunk/dtest1/js/"
<Location "/js">
SetHandler None
</Location>
Alias /pics/ "/home/django-trunk/dtest1/pics/"
<Location "/pics">
SetHandler None
</Location>
<Directory /home/django-trunk/dtest1/apache>
Order allow,deny
allow from all
</Directory>
# wsgi - обработчик
WSGIScriptAlias / /home/django-trunk/dtest1/apache/mod.wsgi
# WSGIDaemonProcess django-test1 processes=2 maximum-requests=5 threads=1
# WSGIProcessGroup django-test1
ServerSignature On
ErrorLog /home/django-trunk/dtest1/logs/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
#CustomLog "|/usr/sbin/rotatelogs /home/django-trunk/dtest1/logs/access.%y-%m-%d.log 86400" combined
CustomLog /home/django-trunk/dtest1/logs/access.log combined
</VirtualHost>
Дальше стандартные действия
# включаем виртуальный хост
a2ensite django-test1
# рестарт Apache
/etc/init.d/apache2 restart
Не забыть сделать запись в c:\Windows\..\hosts
Подписаться на:
Комментарии к сообщению (Atom)
Комментариев нет:
Отправить комментарий