Балансировка нагрузки динамического 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;
}
}

1

Решение

Ты можешь использовать Постоянство сеанса Особенность nginx:

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

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

Чтобы настроить балансировку нагрузки ip-hash, просто добавьте директиву ip_hash в
конфигурация группы серверов (восходящего потока):

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

upstream web_backend{
ip_hash;
server 192.168.33.2;
server 192.168.33.3;
}
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]