[英]AWS Elastic Beanstalk Deployment
我目前正在 Elastic Beanstalk 之外运行一个 EC2 实例,其中包含一堆 PHP 文件/文件夹。 我希望此应用程序位于 Elastic Beanstalk 中,因此我创建了一个新的 Elastic Beanstalk 环境,该环境会自动启动一个新的 EC2 实例。
1) 我是否必须将所有 PHP 文件/文件夹保存在一个 zip 文件中并上传和部署?
2) 如果我更改了一个文件,我是否必须重新压缩和上传(例如,没有 FTP)? (这会很耗时,因为我有 500MB 的图像)。
3) 我是否应该只在我的应用程序完成后才使用 Elastic Beanstalk 并继续使用它之外的 EC2 实例以方便 FTP 和更改?
1) 我是否必须将所有 PHP 文件/文件夹保存在一个 zip 文件中并上传和部署?
是的。 但这可以抽象掉。 我建议使用EB CLI 。 CLI 将通过简单地键入eb deploy
为您进行压缩、上传和更新。
2) 如果我更改了一个文件,我是否必须重新压缩和上传(例如,没有 FTP)? (这会很耗时,因为我有 500MB 的图像)。
目前弹性豆茎只支持完整的拉链。 因此,您每次都必须上传整个内容。 EB CLI 将使用多个线程上传您的 zip,除非您的网络连接速度较慢,否则不会花费很长时间。 话虽如此,我强烈建议您将所有图像和资产放在 s3 和 cloudfront 中,然后使用 Ajax 将它们加载到您的应用程序中。 这将为您做两件事。
此外,值得注意的是,应用程序版本的最大允许大小为 512M,因此如果您添加任何图像,您很快将无法部署。
3) 我是否应该只在我的应用程序完成后才使用 Elastic Beanstalk 并继续使用它之外的 EC2 实例以方便 FTP 和更改?
您的决定。 但是你应该知道 beanstalk 有很多围绕开发和推广到生产的功能。 典型的弹性豆茎流程是在本地进行开发。 然后,一旦功能完成,就部署到开发环境。 测试它,确保它工作,然后签入。 一旦您的应用程序处于 prod 状态,您就可以与您的 prod 环境 ( eb swap
) 进行 cname 交换,以实现零停机部署。
您可以通过多种方式将 php 应用程序部署到 Elastic Beanstalk。 您可以使用 AWS CLI。 (对于 Java,您也可以将 Eclipse 与 AWS 插件一起使用,我不确定它是否也适用于 php,但值得一试。)
这是一个很好的资源: 开发、测试和部署 - Beanstalk
没有这方面的实践经验,但 .NET 插件能够进行增量部署,因此您有很好的机会使用 PHP。 (因此您不会再次上传所有图片。)
对于生产,我真的支持 HA Beanstalk 设置,我将它用于 .NET 和 Java 环境。 它为您提供了许多良好的功能,因此您无需处理所有操作细节。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.