php - Drupal负载平衡

标签 php drupal load-balancing

因此,我们有一个运行良好的 drupal 6 网站,但现在我们要为大量流量做好准备,因此下一步是让 2 个 Web 服务器运行同一网站(数据库已经在单独的服务器上运行),然后使用另一台服务器在这两个服务器之间进行负载平衡。

所以昨天我将原始 drupal 服务器(运行在 www.example.com 上)的文件镜像到新服务器(运行在 123.123.123.123 上 - 只是一个 IP,没有域),比我编辑第二个的settings.php 文件以确保基本 URL 为 123.123.123.123。

当我浏览到123.123.123.123来测试该网站的镜像是否正常工作时,我得到了一个空白页面..查看源代码,基本结构在那里,但没有内容,并且CSS指向正确的地方,但仍然没有显示..我决定浏览到 123.123.123.123/admin/看看我能做什么..去网站性能并清除缓存,什么也没做,但后来我注意到原来的drupal 现在显示空白...所以我去了 www.example.com/admin/,也清除了缓存,站点又回来了,但菜单路由器似乎被破坏了,因为我到处都收到“找不到页面”。所以我进入模块页面并单击“保存”,希望它会重建菜单路由器。它成功了,网站重新上线并且运行良好。

显然,我不再使用 123.123.123.123,并决定是时候向专家寻求帮助了......

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

朱利安

最佳答案

我认为 D6 无法开箱即用地做到这一点。

有几件事会让你感到困惑。

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

可能还有其他事情,但这已经足够了。

所以你有两个选择:

  • 选择像 pressflow 这样的东西,它与 D6 兼容,并且具有在镜像服务器上工作的选项。
  • 配置您的服务器来处理负载。

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

  • 确保 Drupal 缓存已打开
  • 使用像 apc 这样的 optcode 缓存,请参阅一些基准测试 here
  • 安装缓存路由器模块以使用 apc 进行 Drupal 的缓存
  • 安装Boost模块

有一篇更深入的文章here

我建议阅读这篇文章并在一台服务器上尽你所能。虽然可以使用 2 台甚至 200 台服务器,但这会增加系统的复杂性。

关于php - Drupal负载平衡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4615361/

相关文章:

javascript - 更改元素时单击事件不起作用

Drupal,禁用路径

javascript - 获取未捕获的类型错误 : undefined is not a function in nivo slider. js

ssl - 使用负载均衡器终止 Kafka/SSL 连接

docker - Traefik错误网关

C# - 负载均衡器情况下的二维码链接

php - 使用 php mysql 上传文件并将文件名按列保存在数据库中

php - 在 PHP 中将一种日期格式转换为另一种日期格式

php - PayPal自适应支付链式支付错误

drupal - 将图像添加到 block html