在AWS EC2上部署Pyramid应用程序
我接到一个任务:把我现有的Pyramid应用程序部署到我们的EC2 Linux服务器上。我希望这个过程尽量简单,减少压力和错误,尤其是因为我对AWS完全是个新手。
到目前为止,我做了以下几件事:
- 设置了EC2实例,并且我可以通过SSH连接进去。
- 在本地开发我的Pyramid应用程序。
- 我们用GitHub对应用程序进行版本控制。
我们使用的是:最新版本的Pyramid,Python 2.7.5,以及Postgresql(通过SQLAlchemy和Alembic)。
请问,有哪些基本的、高层次的步骤可以确保我的应用程序正确部署?
Elastic Beanstalk在这个过程中有什么用吗?
考虑到我的项目目前在一个Git仓库里,我需要采取哪些步骤或注意事项来适应这个情况?
我并不是想要关于如何调整我的设置的意见。我希望得到一套简单明了、不容争辩的步骤或注意事项,以最基本的方式部署我的应用程序。这个服务器仅用于开发,所以我不需要一个完整的解决方案。
我研究过这个主题,尤其是针对Django项目,坦白说,我对各种可能的选项感到有些不知所措。我想把这个情况简化到最基本的组成部分。
感谢大家的时间和帮助。
3 个回答
虽然在Pyramid Cookbook中没有专门针对将Pyramid应用程序部署到AWS的具体步骤,但还有其他一些步骤可以部分解决这个问题。
我建议你运行两个实例,并使用弹性负载均衡器。
千万不要在一个单独的EC2实例上运行重要的东西,因为EC2实例不够稳定,它们可能会突然消失,导致你存储的数据也随之丢失。
其他的部分应该按照Pyramid Cookbook的描述来操作。
把应用程序部署到EC2服务器就像把它部署到其他Linux服务器一样简单。
如果你想把它放在负载均衡器后面,这也是可以的,相关的文档都有详细说明。
你还可以选择使用Elastic Beanstalk来部署。EC2是一个普通的Linux服务器,而Beanstalk更像是一个环境,你只需要把所有的代码更改推送到一个S3的存储库里,然后你的应用就会被自动构建并部署到Beanstalk上。
这意味着你不需要进行复杂的服务器设置,也不需要太多配置(除了最基本的设置),而且你推送到S3的所有新更改都会被构建并更新到你在Beanstalk上发布的每个应用版本。
你不应该在EC2上托管你的数据库服务器,建议使用亚马逊的RDS数据库服务器,这个设置非常简单,大约只需要两分钟就能完成配置。
至于文件存储,建议把所有东西都放到S3上。
EC2和Beanstalk不应该用来存储任何形式的数据。