同步AWS EC2实例

我一直在寻找一种方法来同步我的EC2 Web服务器之间的文件。 但是在大多数地方提到S3可以用于这种情况。 不过,我的问题是S3只提供静态网页寄存,而我的网站服务器上有PHP文件。 那么我如何同步它们呢?

最简单的解决scheme可能会定期运行rsync,将一台主机上的更改同步到另一台主机上。 还有类似于rsync的双向工具,如Unison 。 您可以使用lsyncd来监视文件系统,然后启动Unison来执行同步。 这是一个教程。

另一个stream行和简单的方法是有一个文件服务器存储您的PHP文件。 这些目录通过NFS共享,并由实际的Web服务器装载。 这个文件服务器不一定非常强大。 通过caching文件系统的性能通常是相当不错的。 同步当然不是即时的,虽然相当好。 这对于一个web服务器来说通常是足够好的,而且容易设置。

其他更复杂的选项是分布式文件系统和相关系统,如GFS , GlusterFS , DRBD 。 我会留给你自己来调查这些,但他们被认为是相当复杂的。 他们几乎实时同步,但可能很难设置和疑难解答。

Martijn对你的问题提供了很好的答案,但我相信这个问题是错误的。 一旦你拥有了更多的Web服务器,你应该重新考虑你的部署策略,并转向脚本/自动化/敏捷/连续性(或者现在stream行的词)。

有很多可能的情况,这个答案是一个很好的开始: https : //stackoverflow.com/questions/5005298/best-practices-for-code-web-application-deployment