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

我开始在亚马逊的Web服务上开发一个Django应用程序。

我正在build立一个将服务于Django的实例。 我没有太多的经验,只有在使用共享主机(WebFaction)之前。

所以我想知道,我应该使用哪种AMI作为基础? 我假设我想要一个Ubuntu的AMI,可能与某些事情,如预先安装的Apache?

一个小问题:我打算从同一个实例中为几个不同的Django项目提供服务。 我现在在开发机器上使用virtualenv来分离不同的项目,我假设我会在EC2上做同样的事情。

谢谢!

你说你想在EC2平台上构build一组Django应用程序,但是我想build议你真正想要构build的是一个Django应用程序工厂。 含义:你需要一套脚本,将你的Django需求(apache,postgres,git,sentry等)和构build一个正在运行的web服务器。 然后终止它。 然后重新构build它。

这是你为什么要这样做的原因:

  • 重复性
  • testing
  • 转移到不同的实例架构

最后一个原因可以回答你原来的问题,但是build立一个应用程序工厂作为构build应用程序本身的一部分并不是最重要的原因。 然后,您将有信心在最小的平台上运行您的应用程序,并知道您将能够进行升级,因为您事先付出了额外的努力。

如果您正在考虑使用Ubuntu作为您的EC2服务器平台,那么它将为创build云实例提供一些有用的支持:

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

听起来像一个小实例会做的很好,甚至可能是一个微型实例(虽然我不想冒险在微型实例的生产网站,特别是当你最有可能在同一个实例上运行数据库服务器开始) 。