我应该使用哪个 AMI 作为 Django 应用程序的基础?

我应该使用哪个 AMI 作为 Django 应用程序的基础?

我正在开始在亚马逊的网络服务上开发 Django 应用程序。

我想要构建一个实例来服务 Django。我对这类事情没有太多经验,之前只使用过共享主机(WebFaction)。

所以我想知道,我应该使用哪个 AMI 作为基础?我假设我想要一个 Ubuntu AMI,可能预装了某些东西,比如 Apache?

一个小问题:我计划从同一个实例中提供几个不同的 Django 项目。我现在在开发机器上使用 virtualenv 来分离不同的项目,我假设在 EC2 上也会这样做。

谢谢!

答案1

您说您想在 EC2 平台上构建一组 Django 应用程序,但我想建议您真正想要构建的是 Django 应用程序工厂。意思是:您需要一组脚本来满足您的 Django 要求(apache、postgres、git、sentry 等)并构建一个正在运行的 Web 服务器。然后终止它。然后再次构建它。

这就是为什么你需要它:

  • 重复性
  • 测试
  • 迁移到不同的实例架构

最后一个原因回答了你最初的问题,但这并不是在构建应用程序本身时构建应用程序工厂的最重要原因。然后,你将有信心在最小平台上运行你的应用程序,并且知道你将能够升级,因为你在前期付出了额外的努力。

如果您考虑使用 Ubuntu 作为您的 EC2 服务器平台,它对云实例创建有一些有用的支持:

https://help.ubuntu.com/community/CloudInit

答案2

听起来一个小实例就可以了,甚至可能是一个微实例(虽然我不想冒险在微实例上生产站点,特别是当你很可能在同一个实例上运行数据库服务器时)。

相关内容