php – 在负载平衡器上推送到多个EC2实例

前端之家收集整理的这篇文章主要介绍了php – 在负载平衡器上推送到多个EC2实例前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我试图找出一个很好的方法来推出一个新的提交到ELB(负载平衡器)后面的一组EC2服务器实例.每个实例都在运行NginxPHP-FPM

我想执行以下工作流程,但我不确定是否推出新版本到负载平衡器后面的所有实例的好方法.

> Dev在本地机器上完成
>一旦更改准备就绪,我就执行“git push origin master”来推送
BitBucket的更改(我托管所有我的git repos)
>被推到bitbucket后,我想拥有新版本
同时推送到所有EC2实例.
>我想这样做,而不必SSH到每个实例
(明显).

有没有办法配置远程服务器接受远程推送?有没有更好的方法来做到这一点?

最佳答案
是的,我所有的时间(实际上是相同的应用程序堆栈).

>使用可靠来源的基本AMI,例如默认的“Amazon Linux”,或自行滚动.
>作为启动配置的一部分,使用“用户数据”字段在启动时引导配置过程.这可以像运行yum安装Nginx PHP-fpm -y的shell脚本一样简单,并将文件从S3存储区复制下来,或者从您的repo中拉一下.如果您需要更多的灵活性,亚马逊撰写的AMI还将支持cloud-init脚本.如果您需要更大的电力,您可以使用Puppet,ChefSalt(我个人最喜欢的)的变更管理和编排工具.
>就现有实例更新代码而言:有两种思路:

>充分利用云端,只需启动一个全新的实例队伍,在启动时抓住新的代码.然后你翻转负载平衡器来指向新的舰队.这是瞬间的,如果出现问题,给你一个真正快速方法来恢复旧舰队.几小时(或几天)之后,你再转一下旧实例.
>您可以使用像FabricCapistrano这样的工具一次对所有实例进行并行“推送”部署.这通常只是重新执行服务器在启动时运行的相同脚本. Salt和Puppet的MCollective也提供了类似的功能,与其基本的“拉”配置相结合.

猜你在找的Nginx相关文章