我知道如何设置 HAProxy 并让多个后端协同工作以平衡负载。但是问题仍然存在,如何在这样的设置上托管 WordPress(通过 nginx 和 MySQL)?
问题是,如果您以这种方式安装,您将拥有多个不同的后端。假设您在后端 1 上安装了一个 wordpress 网站,如果您被重定向到后端 2 并创建了一篇新帖子,那么该帖子将只在后端 2 中,对吗?所以我们还需要在后端之间进行复制,以便提供完全相同的内容?
我是否遗漏了什么?
答案1
WordPress 背后有一个数据库。它不需要与 WordPress 应用程序位于同一台服务器上,尽管通常都是如此。
您有两个选择:
- 对所有 WordPress 服务器(HAProxy 后端)使用单个数据库。
- 配置数据库以在服务器之间复制。
答案2
正如 BillThor 所说,您可以在多个后端服务器上运行 wordpress 应用程序,并且仍然可以为它们使用一个通用的 MySQL 服务器。
对于所有的 wp-admin 流量,您可以设置一个 acl 来将流量仅路由到一个服务器,否则可能会导致会话问题。
并且所有读取流量(即读者的流量)都可以以循环方式或基于 URI 路由到两个后端服务器。