如何将多租户Django应用程序部署到AWS?

3
我有一个Django+Postgres的应用程序,具有多租户结构,但我没有将此类型的应用程序部署到AWS的先前经验。我已按照一般的Elastic Beanstalk教程部署了一个简单的应用程序。(https://realpython.com/blog/python/deploying-a-django-app-to-aws-elastic-beanstalk/)然而,我正在寻找一种解决方案,允许我更灵活地创建不同的“站点”。目前,我学会了通过这个教程(http://mycodesmells.com/post/django-tutorial-multi-tenant-setup)创建不同的站点。
所以我有以下问题:
1.如何部署此应用程序(我倾向于不使用Elastic Beanstalk,而只是将其部署到EC2)。 2.在部署此应用程序后,我如何创建不同的站点。
1个回答

2
以下内容应该有所帮助:
  • 设置您的.ebextensions,使得您的Django项目可以通过eb deploy来部署。
  • 使用AWS S3设置django-storages以储存媒体文件(如果需要)。
  • 购买一个域名,并通过AWS Route 53进行设置(您也可以通过Route 53购买域名)。
  • 将您的根域名别名指向您的Elastic Beanstalk应用程序。
  • 将通配符域名也指向您的应用程序。
  • 设置AWS SES以将您的域名电子邮件保存到AWS S3桶中。您也可以使用其他提供商,SES是最简单的。
  • 为HTTPS支持提供AWS ACM证书。

现在您的站点可以在.example.com下工作,并可以使用tenant.example.com来引用单个客户端的设置——它指的是同一次部署,但具有不同的Host头,让Django租户模式区分客户端。 您已经有了通配符转发,不需要除Django之外的任何设置来添加新的租户。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接