在aws上运行django项目的最佳方法是什么?

Mat*_*ock 5 python deployment django amazon-web-services

如何部署和运行项目.这个空间里有很多工具.应该使用哪个以及为什么?

  • Gunocorn
  • Ngnix
  • 宝途
  • 果仁
  • VIRTUALENV
  • 负载平衡器

Mic*_*ael 11

这取决于您的配置.我们在Rackspace上使用以下堆栈作为我们的环境,但您可以在AWS上使用EC2实例设置相同的内容.

  • Ubuntu 11.04
  • 清漆(在内存缓存中)以避免磁盘搜索
  • NginX到服务器的静态内容
  • Apache到服务器的动态内容(MOD-WSGI)
  • 使用Django的Python 2.7.2
  • Jenkins为我们的持续构建
  • GIT用于版本控制
  • 用于部署的Fabric.

因此它的工作方式是Jenkins正在调查GIT对原始存储库的推送.詹金斯然后从原点拉下变化.构建一个Python Egg,运行Unit测试,使用Fabric将这个egg部署到必要的环境中并重新加载Apache配置,以确保分叉的Apache进程正在获取新的Python egg.

希望这可以帮助.

  • 好点.我们从Apache/ModWSGI开始,然后将NginXin添加到混合中,出于可预测性原因,我们希望将Apache保留在PROD环境中.S3很棒,完全.我们在Cloudfiles上获得了大部分内容(相当于S3).但是有一些静态文件经常为我们改变,CloudFiles不允许你在CDN上设置一个<20分钟的缓存TTL. (2认同)