两个服务器上的WordPress安装 – Loadbalancing

我必须安装wordpress(一个博客,一个域,例如mycompany.com/blog)在两个服务器上共享一个数据库在不同的服务器上,这两个服务器后面的loadbalancer和数据库将在另一台服务器上。 由于stream量大,我们正在这样规划。

我已经在单个服务器上完成独立的wordpress安装,在Windows 2003,2008与IIS6,7等

我只是在研究如何实现这一点。

什么是实现这一目标的步骤和search,我看到一些关于wp-content / uploads目录定期同步的post?

您的帮助非常感谢您的阅读


我们做了什么:

a)我们有两个networking服务器连接到san群集b)在san上创build了一个博客目录c)在这两个web服务器上将该博客目录映射为一个虚拟目录d)在它们中的任何一个上安装了wordpress(作为域和IIS虚拟目录是相同的两个服务器 – 例如www.abc.com)e)这个博客的数据库位于两个MySQL Boxes

由于Wordpress坐在圣,所以没有上传或任何类似的冲突,博客url是www.abc.com/blog,这就是它是如何configuration两个。

希望帮助别人!

如果这些目录需要相同,你可以把它们放在另一台服务器上,并通过NFS远程安装它们吗?

有很多方法可以提高wordpress的性能,不需要第二台服务器和负载平衡。 用两个词来表示:“caching一切”。

  • 使用PHP操作码cacher(APC)。 你可以很容易地达到90%的caching命中率在WordPress内64MB的内存。

  • 启用mysql查询caching。 你可以很容易地实现65%或>高速caching命中率很lessmem(站点依赖,但从来没有太高)。

最重要的是:

WordPress的是一个沉重的“阅读”网站(写比较),大多数请求限制在几百页(博客文章)。 您可以通过提供静态版本的最受欢迎的post,每秒提高10次请求。 最好的插件是:wp-super-cache。 如果这个插件与2k3兼容,我并不乐观,但是自动创build页面的静态版本并定期更新它们以包含新评论,编辑等等的一般想法将是您最好的select。

我真的怀疑你的网站会做足够的stream量,需要两个networking/应用程序服务器,如果上述常见的增强function(以上可以轻松处理slashdot效果)。 但是,两台Web服务器将增加一个容错级别。 由于性能可以通过一个Web服务器来实现,因此可以使用主动/被动设置来实现容错。 这会更简单,不需要共享会话信息。

我们遇到了同样的情况,最终安装了一个s3插件,托pipe你的wp上传目录,所以你不必处理同步。

这是我们使用的: http : //tantannoodles.com/toolkit/wordpress-s3/

到目前为止,它一直在努力!

您必须在服务器之间共享上传/目录和会话目录,通常在/ tmp中

在php.ini中进行更改,并通过samba,nfs或您喜欢的方式在服务器之间共享会话和上传文件的fs。

首先,在这里回答一个非常相关的问题,你可能会发现有帮助: SAN + MySQL复制 – 是我想要为我的负载平衡Drupal群集?

Web集群可以远远落在兔子的洞口,所以重要的是要牢记您的业务目标,不要迷失在工程师的技术上。 例如,你打算有两个Web服务器和一个数据库服务器……但是如果数据库服务器是你的瓶颈呢? 然后你的第二个networking服务器被浪费了。 在具有一个networking服务器和一个数据库服务器的现代化硬件以及configuration良好的wordpress上,您可以每秒处理几百个请求。 你在期待吗? 如果没有,负载平衡可能没有意义。

会话最好通过memcache在文件系统上共享。

在一对Linux上,我会使用DRBD。 Windows相当于分布式文件服务。

http://technet.microsoft.com/en-us/library/cc753479%28WS.10%29.aspx