使用 HAproxy 在同一台服务器中平衡多个站点(虚拟主机)的负载

使用 HAproxy 在同一台服务器中平衡多个站点(虚拟主机)的负载

是否可以使用 HAproxy 对同一台服务器上的多个网站进行负载平衡?我们已经为一个网站配置了负载平衡,现在我们想在同一台服务器上添加另一个网站。如果可以的话,请帮我举一些例子。

谢谢,

桑托什

答案1

没问题。请记住,HAProxy 只是转发连接,并不关心 URL 是什么(除非您已设置按 URL 过滤的规则)。

Apache(或您正在使用的任何 Web 服务器)必须配置虚拟主机。您要使用的每个域名都应该有不同的虚拟主机。

标准 HAProxy 配置将对所有请求进行负载平衡,无论 URL 如何,例如:

global
        log 127.0.0.1   local0
        log 127.0.0.1   local1 notice
        maxconn 4096
        daemon

defaults
        log     global
        mode    http
        option  httplog
        option  dontlognull
        retries 3
        redispatch
        contimeout      5000
        clitimeout      50000
        srvtimeout      80000

listen  http_proxy HAPROXY_SERVER_IP:80
        mode http
        balance roundrobin
        option httpclose
        option forwardfor
        cookie SERVERID insert indirect nocache
        server  web01 WEBSERVER1_IP:80 cookie web01 check
        server  web02 WEBSERVER2_IP:80 cookie web02 check

在 Apache 中设置虚拟主机是一项非常常见的任务,如果您不确定,可以通过快速 Google 搜索轻松找到一些相关信息。

相关内容