首页 文章

AWS Elastic Beanstalk部署

提问于
浏览
1

我目前正在Elastic Beanstalk之外运行一个EC2实例,其中包含一堆PHP文件/文件夹 . 我希望这个应用程序位于Elastic Beanstalk中,因此我创建了一个新的Elastic Beanstalk环境,该环境自动启动了一个新的EC2实例 .

1)我是否必须将所有PHP文件/文件夹保存在zip文件中并上传和部署?

2)如果我更改文件,是否必须重新压缩和上传(例如,没有FTP)? (这将是耗时的,因为我有500MB的图像) .

3)当我的应用程序是最终版本并且继续在其外部使用EC2实例以便于FTP和更改时,我是否应该仅使用Elastic Beanstalk?

2 回答

  • 3

    1)我是否必须将所有PHP文件/文件夹保存在zip文件中并上传和部署?

    是 . 但这可以抽象出来 . 我建议使用EB CLI . CLI只需输入 eb deploy 即可为您进行压缩,上传和更新 .

    2)如果我更改文件,是否必须重新压缩和上传(例如,没有FTP)? (这将是耗时的,因为我有500MB的图像) .

    目前,弹性beanstalk仅支持完整的拉链 . 所以你每次都要上传整件事 . EB CLI将使用多个线程上传您的zip,除非您的网络连接速度慢,否则不应该花费很长时间 . 话虽如此,我强烈建议您将所有图像和资源放在s3和cloudfront中,然后使用Ajax将它们加载到您的app中 . 这将为您做两件事 .

    • 您的应用程序版本(.zip文件)将相当小,因此部署将快速而轻松 .

    • 图像将为您的最终用户加载 much 更快 .

    此外,值得注意的是,应用程序版本的最大允许大小为512M,因此如果添加任何图像,很快就无法部署 .

    3)当我的应用程序是最终版本并且继续在其外部使用EC2实例以便于FTP和更改时,我是否应该仅使用Elastic Beanstalk?

    你的决定 . 但是你应该知道beanstalk有很多围绕开发和推广的特性 . 典型的弹性beanstalk流程将在本地进行开发 . 然后,完成功能后,部署到开发环境 . 测试它,确保它有效,然后办理登机手续 . 一旦您的应用程序处于prod状态,您就可以使用prod环境( eb swap )进行cname交换,以实现零停机时间部署 .

  • 0

    您有多种方法可以将php应用程序部署到Elastic Beanstalk . 您可以使用AWS CLI . (对于Java,您也可以将Eclipse与AWS插件一起使用,我不确定它是否也适用于PHP,但值得检查 . )

    这是一个很好的来源:Develop, Test, and Deploy - Beanstalk

    没有亲身经验,但.NET插件能够进行增量部署,因此您有很好的机会使用PHP . (因此您不会再次上传所有图像 . )

    为了 生产环境 ,我真的支持HA Beanstalk设置,我将它用于.NET和Java环境 . 为您提供了许多优秀的功能,因此您无需处理所有操作细节 .

相关问题