我一直在寻找一种在我的 EC2 Web 服务器之间同步文件的方法。然而,大多数地方都提到在这种情况下可以使用 S3。然而我的问题是 S3 只提供静态 Web 托管,而我的 Web 服务器上有 php 文件。那么我该如何同步它们呢?
答案1
最简单的解决方案可能是定期运行 rsync,将一台主机上的更改同步到另一台主机。还有类似于 rsync 的双向工具,例如齐奏。您可以使用 lsyncd 来监视文件系统,然后启动 Unison 执行同步。以下是一个教程。
另一种流行且简单的方法是使用文件服务器来存储 PHP 文件。这些目录通过以下方式共享NFS并由实际的 Web 服务器挂载。此文件服务器不必功能强大。使用缓存,文件系统性能通常相当不错。同步当然不是即时的,但相当不错。它通常对 Web 服务器来说已经足够好了,并且易于设置。
其他更复杂的选项包括分布式文件系统和相关系统,例如政府金融服务局,集群文件系统,DRBD。我会让您自己研究这些,但它们被认为相当复杂。它们几乎实时同步,但设置和故障排除可能很困难。
答案2
Martijn 很好地回答了您的问题,但我认为这个问题是错误的。一旦您拥有多个 Web 服务器,您就应该重新考虑您的部署策略,并转向脚本化/自动化/敏捷/连续(或当今流行的任何术语)部署。
有很多可能的情况,这个答案是一个很好的起点:https://stackoverflow.com/questions/5005298/best-practices-for-code-web-application-deployment