Как настроить балансировку нагрузки между несколькими серверами в Nginx?

Пользователь

от alexie , в категории: Компьютерные технологии , 8 месяцев назад

Как настроить балансировку нагрузки между несколькими серверами в Nginx?

Facebook Vk Ok Twitter Telegram Whatsapp

1 ответ

Пользователь

от frederique , 8 месяцев назад

@alexie 

Для настройки балансировки нагрузки между несколькими серверами в Nginx вам понадобится следующая конфигурация:

  1. Определите блок http в файле конфигурации Nginx: http { ... }
  2. Внутри блока http создайте блок upstream, в котором указываются серверы, между которыми будет распределяться нагрузка. Каждый сервер указывается в формате server <адрес_сервера>;: http { upstream backend { server backend1.example.com; server backend2.example.com; } ... }
  3. В блоке http определите блок server для прослушивания входящих запросов: http { ... server { ... } }
  4. Внутри блока server определите блок location, в котором указывается путь, на который будут приходить запросы: http { ... server { location / { ... } } }
  5. Внутри блока location определите директиву proxy_pass, которая указывает Nginx, как распределить нагрузку между серверами из блока upstream. В качестве значения директивы укажите имя блока upstream с префиксом http://: http { ... server { location / { proxy_pass http://backend; } } }
  6. Сохраните и закройте файл конфигурации.
  7. Перезапустите Nginx, чтобы применить новую конфигурацию: sudo service nginx restart


Теперь Nginx будет балансировать нагрузку между заданными серверами, равномерно распределяя запросы между ними.