繁体   English   中英

AWS Elastic Beanstalk 部署

[英]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 将它们加载到您的应用程序中。 这将为您做两件事。

  1. 您的应用程序版本(.zip 文件)将相当小,因此部署将快速且轻松。
  2. 图像将为您的最终用户加载更快。

此外,值得注意的是,应用程序版本的最大允许大小为 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM