首页 文章

在Amazon Web Services上开始使用Django [关闭]

提问于
浏览
23

我开始将一些应用程序迁移到Amazon Web Services . 我的应用程序是运行在MySQL上的Python / Django应用程序 .

我计划将EC2和EBS用于初学者 .

我正在寻找一些东西:

  • 一个很好的分步教程,解释如何在AWS上部署Django . 我环顾四周,但大多数教程都来自2年前,所以我担心它们已经过时了 .

  • 我想了解,我应该从哪个AMI开始?我知道有一个BitNami AMI预先配置了Django的良好状态,但我看到很多其他消息来源说你应该从一个基本的(干净的)linux盒子开始并自己安装一切 . 为什么?

  • 我还有其他重要的事情要考虑吗?我的系统管理经验很少(应用程序目前在WebFaction上),所以我不确定我应该考虑什么 .

一些额外的要点:

  • 我计划在同一个EC2实例上运行多个应用程序,我认为这可能吗?

  • 我现在正在使用virtualenv来分隔各种应用程序,我想我可以继续在EC2实例上做同样的事情吗?

谢谢!

3 回答

  • 1

    这里没有EC2的“特殊” . 它只提供裸(或通常从自定义AMI预配置)系统实例 - 您可以访问整个虚拟化系统,因此您可以安全地自行解决问题 . 将其视为特定的VPS .

    您必须自己准备部署,这并不困难 - 只需按照文档进行操作即可 . 我建议运行基本的Linux发行版并添加所需的东西,而不是依赖于一些预先配置的图像 . 至于你的问题:

    • 您需要做两件事:设置您的实例(帐户,所需的软件,其他自定义设置,因此一些Linux管理指南应该很方便)并准备django app部署(部署python代码,连接到Web服务器) . 对于后者,可以在此处应用django的一般部署说明(http://docs.djangoproject.com/en/dev/howto/deployment/) .

    • 从AMI开始,使用您最喜欢的Linux发行版,然后从它的存储库中添加必要的软件 .

    • 尽快为所有数据安装和使用EBS . 重新启动时,EC2实例将清除其所有数据,因此请为此做好准备 . 将系统快照执行到AMI以便在发生故障时快速恢复 .

    是的,您可以在一个实例上部署多个应用程序,但请注意EC2实例已虚拟化(具有相当高的“虚拟化税”imo,尤其是对于较小的实例),因此您可能会遇到一般性能问题 . 假设您需要在一段时间后迁移到更大的实例/多个实例 .

    Virtualenv应该是您的默认部署工具 . 是的,你也可以在这里使用它 .

  • 9

    您可以按照设置Amazon ec2实例的官方文档:http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-instance_linux.html

    您应该从您熟悉的AMI开始 . 例如,如果您使用Ubuntu,则可以在推荐页面中使用其中一个Ubuntu AMI . 我没有使用BitNami服务器,我的Django网站顺利部署 .

    如果您使用的是Apache服务器,请按照官方Django文档中的说明进行操作:https://docs.djangoproject.com/en/1.5/howto/deployment/wsgi/modwsgi/

    我尝试了不少博客,但正如你所说,它们已经过时了 . 只需使用官方文档,它将为您节省大量时间 .

  • 0

    此repo旨在解决此问题 - 为可部署到AWS ElasticBeanstalk的基本django项目提供参考实现 .

    https://github.com/pushkarparanjpe/django-awsome

    它有:

    • 静态资产

    • DB后端

    • django contrib管理员

    只需配置您的EBS环境,克隆存储库并部署!

相关问题