Настройка Django+Tornado+Nginx под Windows. Часть 2
В прошлой части были описаны подготовительные работы и установка OSQA. Наконец непосредственно дошли до настройки серверов.
Глава 3. Установка и настройка связки Tornado+Nginx
Начнем:
Установка торнадо:
Способ(Рекомендованный) 1.
Устанавливаем с помощью setuptools или distribute.
“C:\Program Files\Python27\Lib\site-packages\easy_install.py” tornado
Способ 2.
С шаманскими плясками и бубнами.
1. Скачать Tornado
http://github.com/downloads/facebook/tornado/tornado-1.2.1.tar.gz
2. распаковать в C:\tornado
3. Заходим в папку и устанавливаем.
cd C:\tornado
setup.py build
setup.py install
4. торнадо установлен.
5. Создаём файл tornading.py и помешаем его в корень нашего проекта.
# -*- coding: utf-8 -*-
import os
import sys
# настройки
DJANGO_ROOT_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
# Между ” укажите путь до ваших приложений, пустой указывает на корень сайта.
DJANGO_APPS_DIR = os.path.join(DJANGO_ROOT_DIR, ”)
def daemon(iport):
import tornado.wsgi
import tornado.ioloop
import tornado.httpserver
# настраиваем django
sys.path.insert(0, DJANGO_APPS_DIR)
os.environ['DJANGO_SETTINGS_MODULE'] = ’settings’
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()
# подключаем tornado
container = tornado.wsgi.WSGIContainer(application)
http_server = tornado.httpserver.HTTPServer(container)
http_server.listen(iport)
tornado.ioloop.IOLoop.instance().start()
if __name__ == "__main__":
# на вход должен быть передан порт,
# на котором будет запущен tornado-сервер
daemon(int(sys.argv[1]))
6. Запускаем 2 экземпляра на портах 8001 и 8002(порты могут быть и другие). Естественно путь к файлу tornading.py должен быть ваш.
С:\nimpix\apps\osqa\tornading.py 8001&
С:\nimpix\apps\osqa\tornading.py 8002&
7. Запускаем NIMPix, создаём виртуальный хост osqa.lan, открываем его для редактирования и приводим его к такому виду.
У меня путь к проекту django С:/nimpix/apps/osqa/, вы его должны поменять на свой.
upstream backends {
server 127.0.0.1:8001;
server 127.0.0.1:8002;
}
server {
listen 80;
server_name www.osqa.lan osqa.lan;
access_log /nimpix/component/logs/site/osqa.buh.lan.nginx.access.log;
error_log /nimpix/component/logs/site/osqa.buh.lan.nginx.error.log;
location /media/ {
alias С:/nimpix/apps/osqa/media/;
expires 30d;
}
location /admin/ {
alias С:/nimpix/apps/osqa/media_admin/;
expires 30d;
}
location / {
proxy_pass http://backends;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
8. Включаем виртуальный хост и запускаем сервер.
9. Заходим на сайт, создаём пользователя. Первый созданный пользователь будет администратором .
10. Вот и все
