在过去的几个月里,我一直在努力寻找在多个Web服务器(12)上共享多个网站内容的最佳方式,这些服务器都运行Apache
PHP.我面临的最大挑战之一是我们需要能够随时读取和写入文件系统,出于各种好的和坏的原因(即app不在我们的控制之下,wordpress站点通过web界面管理,等等…).
以下是我尝试过的一些事情,结果证明:
> Rsync / duplicity / csync2:每分钟只运行一次,这意味着某些更改不会在群集中快速共享,以防止出现大问题.
> inotify / incron:考虑到要监控的大量文件和目录,太复杂了.此外,它与新文件的工作效果不佳.
> GlusterFS:我们有一个4服务器gluster后端,性能,虽然明确缓慢,是可以容忍的.不幸的是,在每个Web服务器上运行的gluster客户端不断崩溃,然后将4个文件服务器中的一个冻结在2到15分钟之间.我们联系Gluster Inc.让他们的一些工程师帮助我们,但他们无法找出问题所在.使用3个月后我们不得不放弃.
有关我们设置的一般信息:
>托管在亚马逊EC2上
>运行Ubuntu Maverick
>运行Nginx(2) – >清漆(2) – >阿帕奇(12)
> .htaccess被禁用以获得最佳性能.我们将指令直接添加到站点配置文件中
>我们运行的大多数网站/应用程序都不是我们的,不幸的是,只读环境是不可能的
>考虑到这些Web服务器正在处理的任务,具有自动故障转移功能的高可用性对我们来说非常重要
所以我认为这涵盖了一切:).提前感谢您的时间和回复.