![LAMP 的高可用性 (HA) 文件服务器设置?](https://linux22.com/image/68167/LAMP%20%E7%9A%84%E9%AB%98%E5%8F%AF%E7%94%A8%E6%80%A7%20(HA)%20%E6%96%87%E4%BB%B6%E6%9C%8D%E5%8A%A1%E5%99%A8%E8%AE%BE%E7%BD%AE%EF%BC%9F.png)
我不确定设置高可用性服务器(尤其是 LAMP 堆栈)的最正确方法(工业标准)是什么。
可以说我有:
- 2 个负载平衡 Web 服务器 (Apache)
问题:
- 此 Apache 池的文件服务器的最佳方式?
我说的是“代码文件”的 HA 设置。(因为“数据库”可以是另一个故事,在数据库服务器上。而“媒体内容”现在可以在 Amazon S3 上)
因此,为此,到目前为止我知道(使用)的唯一方法是:
- 启动 1 个 NFS 服务器
- 分享开车出去
- 将其安装在 2 个 Apache 服务器上
但我知道这样(NFS) 不太可靠。
那么,设置高可用性服务器(特别是 LAMP 堆栈)的最正确方法(工业标准)是什么?
答案1
我通常使用版本控制系统来存储网络服务的数据。这可以让你:
- 如果犯了错误,能够轻松回滚;
- 能够将数据存储在每个服务器的本地文件系统上,而不必使用文件服务器(您只需检查存储库两次,在每个服务器上一次)。
不过,您确实需要某种方法来确保更改及时出现在两个/所有网络服务器上。您可以使用“拉”(每个网络服务器上的 cron 作业)或“推”(版本控制系统中触发更新的挂钩)机制。什么是最合适的取决于很多因素。
两种流行的版本控制系统是 subversion(集中式)和 git(分散式,我最喜欢的)。