将内容部署到多个服务器(EC2)

jal*_*ith 6 php deployment amazon-ec2

我一直在研究基于云的(AWS EC2)PHP Web应用程序,在使用多个服务器(所有这些都在AWS Elastic Load Balancer下)时,我正在努力解决一个问题.在一台服务器上,当我上传最新文件时,它们会立即在整个应用程序中生成.但是,当使用多个服务器时,情况并非如此 - 每次提交更改时,都必须将文件上传到每个服务器.如果您不经常更新任何内容,或者您​​只有一台或两台服务器,这可能会正常工作.但是,如果您在一周内多次更新系统,跨十台服务器怎么办?

我正在寻找的是一种从我们的开发或测试服务器"提交"更改并立即将其"推送"到我们所有生产服务器的方法.理想情况下,更新一次只应用于一个服务器(即使每个服务器只需要一两秒),因此ELB不会在文件更改时向其发送流量,以免中断任何可能的生产流量流向ELB.这样做的最佳方式是什么?我的一个想法是在开发服务器上使用SVN,但这并没有真正"推送"到服务器上.我正在寻找一个只需几秒钟的时间来提交更新并随后开始将其应用于服务器的流程.此外,对于熟悉AWS的人来说,使用最新更新更新AMI的最佳方法是什么,因此自动缩放器始终使用最新版本的软件启动新实例?

必须有很好的方法来做到这一点....不能真正想象Facebook,谷歌,苹果,亚马逊,Twitter等网站经过手动更新数百或数千台服务器,并在进行更改时逐一更新.

在此先感谢您的帮助.我希望我们能找到解决这个问题的方法......在最后一天,我和我的商业伙伴至少要进行100次Google搜索才能证明在解决这个问题上大部分都没有成功.

亚历克斯

小智 0

好好看看KwateeSDCM。它使您能够在任意数量的服务器上部署文件和软件,并且如果需要,还可以在此过程中自定义特定于服务器的参数。有一篇关于在多个 tomcat 实例上部署 Web 应用程序的文章,但它与语言无关,只要您在 AWS 服务器上启用了 ssh,它就适用于 PHP。