加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 运营中心 > Nginx > 正文

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

发布时间:2020-12-13 21:07:05 所属栏目:Nginx 来源:网络整理
导读:我试图找出一个很好的方法来推出一个新的提交到ELB(负载平衡器)后面的一组EC2服务器实例.每个实例都在运行Nginx和PHP-FPM 我想执行以下工作流程,但我不确定是否推出新版本到负载平衡器后面的所有实例的好方法. Dev在本地机器上完成 一旦更改准备就绪,我就执

我试图找出一个很好的方法来推出一个新的提交到ELB(负载平衡器)后面的一组EC2服务器实例.每个实例都在运行Nginx和PHP-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,Chef或Salt(我个人最喜欢的)的变更管理和编排工具.
>就现有实例更新代码而言:有两种思路:

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读