2011-01-06 154 views
2

因此,我们有一个运行良好的drupal 6网站,但现在我们要为它准备一个很多的流量,所以下一步是让2个Web服务器运行相同的站点(数据库已经运行在一个单独的服务器上),然后使用另一台服务器来执行这两者之间的负载平衡。因此,我昨天镜像了原始drupal服务器的文件(运行于www.example.com)到新的服务器(运行在允许说123.123.123.123 - 只是一个IP,没有域),比编辑第二个的settings.php文件,以确保基地址是123.123.123.123。Drupal负载平衡

一旦我浏览到123.123.123.123来测试网站的镜像是否正常工作,我有一个空白页..看到源代码,基本结构在那里,但没有内容,CSS指向到正确的地方,但仍然没有显示..我决定浏览到123.123.123.123/admin/,看看我能做些什么..去了网站的性能和清除缓存,没有做一件事,但后来我注意到原来的Drupal现在显示空白...所以我去了www.example.com/admin/,也清除了缓存,网站回来了,但它似乎菜单路由器被摧毁,因为我到处“找不到页面”。所以我去模块页面,并点击保存跳跃,它会重建菜单路由器。它取得了诀窍,网站恢复了在线并且运行良好。

很显然,我停止闲逛与123.123.123.123,并决定是时候来问一些专家提供的帮助...

我到底做错了什么?任何帮助将不胜感激!!

朱利安

+0

如果您的负载均衡设置为完全透明,则不得更改第二台计算机上的基本URL。 example.com指向您的负载平衡器,并将请求转发给您的任何服务器。他们每个人都应该使用example.com为链接和资源建立URL。然后,如果客户端请求这些URL,它再次击中负载平衡器。也许你需要粘性会话,并且可能需要在所有服务器(NFS)之间共享的文件夹(保存上传文件的位置)。 – rik 2011-01-06 15:31:30

+0

感谢您的回复!关于上传文件的文件夹,它已经安装在两台服务器上的NAS上,因此没有问题。负载平衡器还没有安装,现在我只想测试我的drupal站点的镜像副本,看看它是否工作,并从那里继续..点是我没有得到任何内容..我的意思是,两台服务器有相同的文件和相同的配置,是什么导致一个没有检索的内容,为什么它会弄乱菜单路由器......? – Julien 2011-01-06 20:48:25

回答

3

我不认为开箱你可以用D6做到这一点。

有几件事会让你失望。

  • 设置存储在数据库中,所以如果您的服务器不相同,一台服务器将无法工作。
  • 数据库未设置为与多个访问它的服务器一起使用。这可能会导致竞争条件或死锁。
  • 上传或生成的文件将不会镜像在两台服务器上,因此文件将丢失。

也许还有其他的东西,但这足以让我们继续。

所以,你有两个选择:

  • 去的东西,如pressflow这是D6兼容,并且具有对镜像服务器的工作选择。
  • 配置您的服务器以处理负载。

配置您的服务器可能是一个很好的起点。这里有一些提示

  • 确保Drupal的缓存被打开
  • 使用OptCode中缓存像APC,看到一些基准here
  • 安装缓存路由器模块使用APC为Drupal的缓存
  • 安装增强模块

有深入的文章更加here

我建议阅读文章,并在一台服务器上做所有事情。尽管有可能使用2台甚至200台服务器,但它增加了系统的复杂性。