我目前正在Elastic Beanstalk之外运行一个EC2实例,其中包含一堆PHP文件/文件夹。我希望这个应用程序在Elastic Beanstalk中,所以我创建了一个新的Elastic Beanstalk环境,它自动启动了一个新的EC2实例。
1)我是否必须将所有PHP文件/文件夹保存为zip文件并上传和部署?
2)如果我更改了一个文件,我是否必须重新压缩并上传(例如:没有FTP)?(这将是耗时的,因为我有500MB的图像)。
3)我是否应该只在我的应用程序最终版时使用Elastic Beanstalk,并继续使用它外部的EC2实例,以便轻松进行FTP和更改?
发布于 2015-07-03 23:28:12
PHP 1)我是否必须将我所有的
文件/文件夹保存到压缩文件中并上传和部署?
是。但这是可以抽象出来的。我推荐使用EB CLI。CLI将为您执行压缩、上传和更新,只需输入eb deploy
即可。
2)如果我更改了一个文件,我是否必须重新压缩并上传(例如没有FTP)?(这将是耗时的,因为我有500MB的图像)。
目前弹性豆柄仅支持全拉链。所以你必须每次都上传整个东西。EB会用多个线程上传你的zip文件,除非你的网络连接很慢,否则不会花很长时间。也就是说,我强烈建议你把你所有的图片和资源放在s3和cloudfront中,然后使用Ajax将它们加载到你的应用程序中。这将为您做两件事。
此外,值得注意的是,应用程序版本的最大允许大小是512M,因此如果添加任何镜像,很快就无法部署。
FTP 3)我是否应该只在我的应用最终版时使用Elastic Beanstalk,并继续使用它外部的EC2实例以方便
和更改?
你的决定。但您应该知道,beanstalk有许多围绕开发和促进prod构建的功能。典型的弹性豆茎流将在本地进行开发。然后,功能完成后,部署到开发环境。测试它,确保它工作正常,然后签入。一旦您的应用程序处于prod状态,您就可以与您的prod环境(eb swap
)进行cname交换,从而实现零停机部署。
发布于 2015-07-03 17:31:47
您可以通过多种方式将php应用程序部署到Elastic Beanstalk。您可以使用AWS CLI。(对于Java,你也可以在AWS插件中使用Eclipse,我不确定它是否也适用于php,但值得一查。)
这对你来说是一个很好的资源:Develop, Test, and Deploy - Beanstalk
在这方面没有实践经验,但是.NET插件能够进行增量部署,所以你有很好的机会做到这一点。(这样你就不会再上传所有的图片了。)
对于生产环境,我非常支持HA Beanstalk设置,我在.NET和Java环境中使用了它。它为你提供了很多很好的功能,所以你不需要处理所有的操作细节。
https://stackoverflow.com/questions/31192982
复制相似问题