Я использую Nginx как интерфейсный веб-сервер, перенаправляющий запросы Python на Apache + mod_wsgi. Все с этим работает нормально. У меня работает один проект Django, и я хочу настроить поддомены для нескольких приложений моего проекта.
Предлагаемая структура:
/ www / project / -
-> / admin / - admin.domain.com
-> / www / - www.domain.com
-> / common_data / - без поддомена
-> и т. д.
Где выполняется эта настройка? Apache или это делается в Django? Правило перезаписи Apache - лучший способ сделать это? Я бы предпочел сохранять URL-адреса в окне браузера. т.е. http://domain.com/admin/filebrowser/browse/ -> http://admin.domain.com/filebrowser/browse/.
Любой совет будет принят во внимание. Спасибо
PS: Я видел следующие ссылки: http://www.djangosnippets.org/snippets/1119/, http://sharjeel.2scomplement.com/2008/07/24/django-subdomains/, http://www.rossp.org/blog/2007/apr/28/using-subdomains-django/ но они, кажется, не делают то же самое.
Сейчас я делаю это на своем VPS. Это своего рода трехэтапный процесс:
Этот пост был мне очень полезен: Альманах Django и Ubuntu Intrepid.
Ваша запись DNS должна выглядеть так:
sub.domain.com. 3600 IN CNAME domain.com.
в / и т.д. / nginx / сайты-доступные каталог:
в / и т.д. / apache2 / сайты-доступные каталог:
Не забудьте добавить символическую ссылку для каждого из соответствующих сайты с поддержкой каталог.
Настроить несколько <VirtualHost>
s в Apache, и указывать каждый на другой DocumentRoot
.
Я нашел решение, и оно работает достаточно хорошо. Однако есть несколько проблем, так как у некоторых многоразовых приложений (таких как django-debug-toobar) есть проблемы с путями к медиафайлам в шаблонах. Конечно, вы можете изменить их для работы вручную.