【发布时间】:2011-12-03 19:28:12
【问题描述】:
我一直在开发基于云的 (AWS EC2) PHP Web 应用程序,但在使用多台服务器(均在 AWS Elastic Load Balancer 下)时,我遇到了一个问题。在一台服务器上,当我上传最新文件时,它们会立即在整个应用程序中投入生产。但在使用多个服务器时情况并非如此——每次提交更改时,您都必须将文件上传到每个服务器。如果您不经常更新任何内容,或者您只有一两台服务器,这可能会正常工作。但是,如果您在一周内跨十台服务器多次更新系统怎么办?
我正在寻找一种从我们的开发或测试服务器“提交”更改并立即将其“推送”到我们所有生产服务器的方法。理想情况下,更新一次只应用于一台服务器(即使每台服务器只需要一两秒钟),因此 ELB 在文件更改时不会向其发送流量,以免中断任何可能的生产流量流向 ELB 。 这样做的最佳方法是什么?我的一个想法是在开发服务器上使用 SVN,但这并不能真正“推送”到服务器。我正在寻找一种只需几秒钟即可提交更新并随后开始将其应用于服务器的过程。另外,对于熟悉 AWS 的人来说,使用最新更新更新 AMI 以使自动缩放器始终使用最新版本的软件启动新实例的最佳方法是什么?
必须有很好的方法来做到这一点......。不能真正想象像 Facebook、谷歌、苹果、亚马逊、Twitter 等这样的网站在制作时手动和一个一个地更新成百上千台服务器改变。
提前感谢您的帮助。我希望我们能找到解决这个问题的办法……我和我的业务合作伙伴在过去一天至少进行了 100 次 Google 搜索,但大部分都没有成功解决这个问题。
亚历克斯
【问题讨论】:
-
这与这里的问题相同:stackoverflow.com/questions/6730360/…
标签: php deployment amazon-ec2