Назад | Перейти на главную страницу

Балансировка нагрузки нескольких сайтов (виртуальный хостинг) на одном сервере с HAproxy

Можно ли с помощью HAproxy сбалансировать нагрузку на несколько сайтов, находящихся на одном сервере? Мы настроили балансировку нагрузки для одного сайта, и теперь мы хотим добавить еще один сайт на том же сервере. Пожалуйста, помогите мне с некоторыми примерами, если это возможно.

Спасибо,

Сантош

Это не проблема. Помните, что HAProxy просто пересылает ПОДКЛЮЧЕНИЯ и не заботится об URL-адресе (если вы не настроили правила для фильтрации по URL-адресу).

Это Apache (или любой другой веб-сервер, который вы используете), который должен быть настроен с виртуальными хостами. Для каждого домена, который вы хотите использовать, должен быть свой виртуальный хост.

Стандартная конфигурация 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, если вы не уверены.