我已经完成了一项任务:将我已存在的Pyramid应用程序部署到我们的EC2 Linux服务器上。我想以最小的压力和错误来做这件事,特别是考虑到我对AWS完全不熟悉。
到目前为止我做了什么:
我们正在使用:Pyramid(最新),以及Python 2.7.5和Postgresql(通过SQLAlchemy和Alembic。)
确保正确部署我的应用程序的基本高级别步骤列表是什么?
如果有的话,Elastic Beanstalk会发挥作用吗?
并且,考虑到我的项目目前是在Git回购中,必须采取哪些步骤或考虑因素才能适应这种情况?
我不是在寻找有关如何调整我的设置或类似内容的意见。我正在寻找一个无可辩驳的,易于理解的步骤或考虑因素,以最基本的形式部署我的应用程序。此服务器仅用于开发目的,因此我不是在寻找一个完整的解决方案。
我已经为Django项目研究了这个主题,坦率地说,我对不同可能的选项有点不知所措。我试图把这种情况归结为最小的组件。
我感谢时间和帮助。
答案 0 :(得分:2)
部署到EC2服务器就像部署到任何其他Linux服务器一样。
如果您想将其置于负载均衡器之后,您可以完全记录下来。
您还可以部署到Elastic Beanstalk。在EC2是普通Linux服务器的情况下,Beanstalk更像是部署到环境,只需将所有git更改推送到S3 repo,然后构建并部署到beanstalk上。
意思是没有服务器设置,没有配置(除了非常基础)以及您推送到S3的所有新更改,构建并更新可能已在beanstalk上启动的应用程序的每个版本。
您不想在EC2上托管您的数据库服务器,使用Amazons RDS数据库服务器,这很简单,大约需要两分钟来设置和配置。
就文件存储而言,将所有内容移至S3。
EC2和beanstalk不应用于任何形式的存储。
答案 1 :(得分:1)
我建议运行两个实例并使用Elastic Load Balancer。
永远不要在单个EC2实例上运行任何重要的东西,EC2实例不耐用,它们可能会突然消失,并且会记录您存储的任何数据。
其他所有内容都应该像Pyramid Cookbook描述一样。
答案 2 :(得分:0)
虽然在Pyramid Cookbook中没有将金字塔应用程序部署到AWS的具体方法,但还有其他一些方法可以提供部分解决方案。