如何为不同的客户运行单个django项目

时间:2018-05-31 17:17:17

标签: django nginx gunicorn django-deployment

我使用djangogunicornnginx为名为customerA的客户开发了一个名为“SANET”的Web应用程序,并使用customerA.mydomain.com授予他们访问权限

现在,新客户customerB订购了专用版本。

以下是我认为我可以做的事情(我希望它们都在特定的服务器上):

  1. 从项目制作副本并将其部署在customerB.mydomain.com上,就像一个完全不同的项目
  2. 找到一种方法来根据请求的域名更改项目数据库配置
  3. 如果您可以指导我选择其中一个选项或为我提供更好的方式,我将不胜感激。

1 个答案:

答案 0 :(得分:0)

许多使用一个系统的客户称为"多租户"或多租户系统。

Here是django包的比较,可能对此有用。 我建议您阅读其中一些文档和评论,以了解它们的工作原理以及它们是否适合您。

但是,如果您的客户之一有可能在将来需要额外的自定义,那么我建议您在不同的django实例上运行它们(单独的数据库和gunicorn,但您只能使用一个nginx)。< / p>

这种分离使得开发和维护比使用if进行编码更容易区分客户。