我必须在两台服务器上安装 wordpress(一个博客,一个域,例如 mycompany.com/blog),在另一台服务器上共享一个数据库,这两台服务器位于负载均衡器后面,而数据库将位于另一台服务器上。由于人流量大,我们计划采用这种方式。
我已经在单个服务器上完成了独立的 wordpress 安装,在带有 IIS6、7 等的 Windows 2003、2008 上
我只是在研究如何实现这一点。
实现这一目标的步骤是什么,在搜索时我看到一些关于 wp-content/uploads 目录的帖子要定期同步?
非常感谢您的帮助 感谢阅读
我们做了什么 :
a) 我们有两个连接到 san 集群的 web 服务器 b) 在 san 上创建了一个 blog 目录 c) 将该 blog 目录映射为两个 webserver 上的虚拟目录 d) 在其中任何一个上安装 wordpress(作为域和 IIS 虚拟两台服务器的目录相同 - 例如 www.abc.com) e) 此博客的数据库位于两个 MySQL Box 上
由于 Wordpress 位于 san 上,因此与上传或类似内容没有冲突,博客 url 是 www.abc.com/blog,这就是它在两者上的配置方式。
希望对某人有所帮助!
如果这些目录需要相同,您可以将它们放在另一台服务器上并通过 NFS 远程挂载它们吗?
有很多方法可以提高 wordpress 性能,不需要第二台服务器和负载平衡。用两个词:“缓存一切”。
使用 php 操作码缓存器 (APC)。您可以在 64MB 以下的内存中使用 wordpress 轻松实现 90% 的缓存命中率。
启用 mysql 查询缓存。您可以用很少的内存轻松实现 65% 或 > 的缓存命中率(取决于站点,但永远不会太高)。
最重要的是:
Wordpress 是一个繁重的“阅读”网站(相对于写作),大多数请求仅限于几百页(博客文章)。通过提供最受欢迎帖子的静态版本,您可以将每秒请求数增加 10 倍。最好的插件是:wp-super-cache。我不肯定该特定插件是否与 2k3 兼容,但自动创建页面的静态版本并定期更新它们以包含新评论、编辑等的一般想法将是你最好的选择。
如果实施了上述常见增强功能,我真的怀疑您的网站是否会产生足够的流量来需要两个 Web/应用程序服务器(以上可以轻松处理斜线点效果)。但是,两个 Web 服务器会增加一定程度的容错能力。由于可以使用一台 Web 服务器来实现性能,因此可以使用主动/被动设置来实现容错。这会更简单,并且不需要共享会话信息。
我们遇到了同样的情况,最终安装了一个 s3 插件来托管你的 wp 上传目录,这样你就不必处理同步了。
这是我们使用的: http: //tantannoodles.com/toolkit/wordpress-s3/
到目前为止,它一直运行良好!
您必须在服务器之间共享上传/目录和会话目录,通常在 /tmp
在 php.ini 中更改它并通过 samba、nfs 或您喜欢的方式在服务器之间共享会话和上传文件的 fs。
首先,在这里回答了一个非常相关的问题,您可能会觉得有帮助:SAN + MySQL 复制——这就是我想要的负载平衡 Drupal 集群吗?
Web 集群可以在兔子洞里走得很远,所以记住你的业务目标很重要,不要迷失在工程师的独门绝技中。例如,您计划拥有两台网络服务器和一台数据库服务器……但如果数据库服务器是您的瓶颈怎么办?那么你的第二个网络服务器就被浪费了。在具有一台网络服务器和一台数据库服务器以及配置良好的 wordpress 的现代硬件上,您每秒可以处理几百个请求。你期待吗?如果不是,那么负载平衡可能毫无意义。
会话最好通过 memcache 共享,然后在文件系统上共享。
在 Linux 对上,我会使用 DRBD。Windows 等效的是分布式文件服务。
http://technet.microsoft.com/en-us/library/cc753479%28WS.10%29.aspx