2016-03-11 2 views
1

У меня есть три сервера. Один для балансировки нагрузки других двух для обслуживания веб-приложения. Моя балансировка нагрузки работает отлично, если я использую свою веб-страницу как статический сайт. но когда я вхожу на мою веб-страницу, он не отвечает правильно, потому что каждый раз, когда он меняет свой сервер при загрузке страницы. как я могу это сделать без изменения текущего сервера перед выходом из системы. Моя конфигурация балансировки сервера нагрузкиБалансировка нагрузки динамического php-сайта с использованием nginx

upstream web_backend{ 
    server 192.168.33.2; 
    server 192.168.33.3; 
} 

server{ 
    listen 80; 

    location/{ 
     proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
     proxy_pass http://web_backend; 
    } 
} 
+0

я предлагать запрос на ошибку сервера http://serverfault.com/ –

ответ

1

Вы можете использовать Session persistence особенность Nginx:

Если есть необходимость привязать клиента к конкретному приложению сервера - другими словами, сделать клиента сеанс «липкий» или «постоянный» с точки зрения всегда попытки выбрать конкретный сервер - может быть использован механизм балансировки нагрузки ip-hash.

С ip-хешем IP-адрес клиента используется в качестве хэширующего ключа для . Определите, какой сервер в группе серверов должен быть выбран для запросов клиента . Этот метод гарантирует, что запросы от одного и того же клиента всегда будут направлены на тот же сервер, за исключением случаев, когда этот сервер недоступен.

Для настройки IP-хэш балансировки нагрузки, просто добавьте ip_hash директивы сервер (вверх по течению) конфигурация группы:

В вашем случае просто добавьте ip_hash в вышестоящее определение

upstream web_backend{ 
    ip_hash; 
    server 192.168.33.2; 
    server 192.168.33.3; 
} 
Смежные вопросы