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

时间:2017-01-01 02:27:19

标签: django postgresql amazon-web-services multi-tenant

我有一个具有多租户结构的Django + Postgres应用程序,我以前没有经验将这种类型的应用程序部署到AWS。我按照一般的Elastic Beanstalk教程来部署一个简单的应用程序。 (https://realpython.com/blog/python/deploying-a-django-app-to-aws-elastic-beanstalk/)但是,我正在寻找一种解决方案,使我能够更灵活地创建不同的网站#34;。目前,我已经学会了通过本教程(http://mycodesmells.com/post/django-tutorial-multi-tenant-setup)创建不同的网站。

所以我有以下问题:

  1. 如何部署此应用程序(我倾向于不使用Elastic Beanstalk,只是将其部署到EC2)
  2. 部署此应用后,我如何创建不同的网站。

1 个答案:

答案 0 :(得分: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中添加新租户之外不需要任何设置。