У меня есть два отличных Django "проекты", которые я хочу работать на единственном домене с помощью mod_wsgi. С mod_python я полагаю, что был способ сделать это, где определенные пути URL будут отображены на неком проекте Django и других путях, отображенных на другом проекте, всех на уровне сервера.
Действительно ли возможно сделать это с mod_wsgi, и если так, как?
Вещи я рассмотрел: что входит в Apache виртуальное описание хоста, что входит в application.wsgi файлы, и т.д. Но я не выяснил точно, как сделать это.
Спасибо!
Это не должно быть сложно. Это просто вопрос установки директивы WSGIScriptAlias
- вам понадобится две таких директивы, по одной для каждого пути, каждая из которых указывает на отдельный файл .wsgi
, содержащий настройки вашего проекта.
Я также работаю с Apache и запускаю несколько проектов Django в одном домене. Вам нужно сделать только две вещи:
Изменить файлы виртуального хоста
Поскольку я использую Debian, у меня есть один файл vhost для каждого домена, который я размещаю. В вашем файле vhost должно быть несколько разделов vhost. По одному на каждый проект. Внутри этих разделов вы можете определить WSGIScriptAlias.
...
WSGIScriptAlias / /path/to/project1.wsgi
...
{ {1}}
...
WSGIScriptAlias / /path/to/project2.wsgi
...
Конечно, вы должны добавить всю остальную необходимую информацию. У проектов 1 и 2 определенно будут разные поддомены. Например, project1.yourdomain.com и project2.yourdomain.com .
Записывайте свои файлы * .wsgi
Есть много способов записать и сохранить файлы * .wsgi. Я не знаю лучших практик. В моем случае я храню их в папке своего проекта.
Это пример:
import os
import sys
os.environ ['DJANGO_SETTINGS_MODULE'] = 'settings'
sys.path.append ('/ путь / к / вашему / проекту ')
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler ()
I' мы видели много других файлов * .wsgi с большим количеством «волшебства». Но это должно помочь вам начать. Вы можете найти множество примеров в Интернете.
Надеюсь, что это ответ на ваш вопрос. Не бойтесь задавать больше вопросов.