我有一个运行 lamp 堆栈的 Ubuntu 12.04 Web 服务器集群。所有这些服务器都连接到 Amazon Web Services 上的负载均衡器。
我希望能够拥有一个专用的 Ubuntu 服务器,我可以在该服务器上更新 PHP 文件,并让其他 Web 服务器使用 cron 检查以从存储库获取更新文件。他们不必使用 cron,但这是我唯一能想到的办法,除非有办法让更新的存储库告诉他们它有更新的文件。然后如何传输这些文件。
此外,如果有办法让服务器在启动时检查更新的文件,因为我将在 AWS 上使用自动扩展,所以当负载增加并且创建另一台服务器时,我需要它在启动时从存储库下载更新的文件。
不确定如何将文件从一台服务器传输到另一台服务器。
答案1
看来 rsync/cron 可以正常工作。
如果您想要更加活跃,您可以设置 GlusterFS 来自动复制集群周围的变化。
答案2
看起来几分钟前您已经找到了问题的答案 :-)。我也在考虑类似 rsync 的东西,正如 EEAA 上面建议的那样,因为我记得看过一个关于它的 YouTube 视频。我会尝试为您找到该视频链接。
此外,我认为使自动缩放的 EC2 与当前 webapp 文件保持同步是 AWS Elastic Beanstalk 服务提供的另一个好处,即当它根据负载自动缩放时(正如您所描述的那样),启动的新实例会下载自动缩放发生之前正在运行的最新 php 文件。我认为这是因为 Elastic Beanstalk 使用的存储库与您正在运行的实例是分开的。