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