2011-09-26 39 views
0

想象一下,你有哪些主机软件针对不同的租户主要Django项目 - >如何在Django上托管多租户软件?

该软件将在托管 - >www.tenantdomain.com

主要项目托管 - >WWW .ourdomain.com

Supppose软件在这个网址访问 - >www.ourdomain.com/tenant_id/home/
这应该翻译成 - >www.tenantdomain.com/home/

How can one do that ?

一两件事,www.tenantdomain.com和www.ourdomain.com我们一台服务器且二者访问一个两个托管数据库

回答

1

Django为此给出了两种选择。

快速的方法是将各种租户的应用程序托管在与Django sites framework相同的项目上。如果应用程序共享数据,这很有用。如果不是这种情况,您应该澄清您的应用程序访问一个数据库的含义。 Django中的“一个数据库”意味着一个项目。这样做基本上意味着从tenant.com/{whatever}yourapp.com/tenant/5/{whatever}的URL代理。

更复杂的方式是将租户的应用程序完全分离为独立的Django项目实例。这意味着手动(或编程)部署每个实例。此选项需要更多的系统管理任务才能在后台进行,但可以让您获得最大的灵活性。更重要的是,每个应用程序都与其他应用程序完全分开,因此这在安全性方面是最好的。