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

如何为不同的客户运行单个django项目,django,nginx,gunicorn,django-deployment,Django,Nginx,Gunicorn,Django Deployment,我使用django、gunicorn和nginx为名为customerA的客户开发了一个名为“SANET”的web应用程序,并允许他们使用customerA.mydomain.com进行访问 现在,一位新客户customerB订购了专用版本 以下是我认为我可以做的(我希望它们都在特定的服务器上): 从project中复制一个副本并将其部署到customerB.mydomain.com上,就像一个完全不同的项目一样 找到一种根据请求的域更改项目数据库配置的方法 如果您能指导我选择这些选项之一或为我

我使用
django
gunicorn
nginx
为名为
customerA
的客户开发了一个名为“SANET”的web应用程序,并允许他们使用
customerA.mydomain.com
进行访问

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

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

  • 从project中复制一个副本并将其部署到
    customerB.mydomain.com
    上,就像一个完全不同的项目一样
  • 找到一种根据请求的域更改项目数据库配置的方法

  • 如果您能指导我选择这些选项之一或为我提供更好的方法,我们将不胜感激。

    使用一个系统的许多客户称为“多租户”或多租户系统

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


    但如果哪怕是最微小的可能性,您的一个客户将来也会需要额外的定制,那么我建议您在单独的django实例上运行它们(单独的数据库和gunicorn,但您只能使用一个nginx)

    这种分离使得开发和维护比使用
    if
    s编码来区分客户更简单