2011-01-15 2 views
1

Я работаю над проектом, где мне нужно отключить параметры конфигурации (используемые шаблоны, базы данных) на основе запрошенного домена.Веб-среда Python для работы с несколькими доменами?

Какая наилучшая структура для этого?

Я делал что-то подобное ранее с использованием Django, но это был настоящий хакер, используя Middleware. Поэтому я бы хотел этого избежать.

ответ

0

Единственная инфраструктура веб-интерфейса python, которую я знаю, имеет встроенную поддержку многопользовательских приложений - Google App Engine, хотя вы можете найти других, ища этот термин.

http://googleappengine.blogspot.com/2010/08/multi-tenancy-support-high-performance_17.html

http://code.google.com/appengine/docs/python/multitenancy/

1

Поместите веб-сервер (Apache, Lighthttpd) перед вашим WebApps. Они хорошо справляются с обработкой нескольких доменов в отношении множества доставки контента, а установка очень проста в таких модулях, как Apache mod_proxy.

+1

У меня была удача настроить эти серверы приложений в контейнерах Linux (LXC) или FreeBSD Jails, чтобы обслуживать их всех из одной коробки, сохраняя при этом очень безопасный раздел между всеми ними. В многопользовательской среде LXC и Jails предоставляют все преимущества виртуализации, но без накладных расходов на полный гипервизор. –

0

Возможно, обработчик запросов верхнего уровня рассмотрит заголовок Host: и просто загрузите параметры конфигурации для запроса от dict с именем хоста в качестве ключа. Lo-tek, возможно, но удивительно эффективен!

Если вы хотите решение с расширенным масштабированием, поместите nginx впереди и перенаправьте разные домены на разные экземпляры сервера приложений.