Я хочу сопоставить конкретный домен в nginx, а затем выполнить циклический переход nginx со списком серверов, которые будут отвечать на HTTP-запросы.
Итак, у меня есть nginx для www.domain1.com
Это приложение на Python, и у меня есть 10 экземпляров пасты, запущенных на разных портах, и я хочу, чтобы nginx пересылал / прокси запросы на использование циклического перебора.
может ли он это сделать, если да, то как?
Вы можете указать порты для каждого внутреннего сервера в блок восходящего потока в nginx:
upstream mybackend {
server localhost:8080;
server localhost:8081;
server localhost:8082;
server localhost:8083;
server localhost:8084;
server localhost:8085;
server localhost:8086;
server localhost:8087;
server localhost:8088;
server localhost:8089;
}
server {
location / {
proxy_pass http://mybackend;
}
}
На самом деле, вам лучше использовать что-то вроде haproxy для этого, но nginx может обратный прокси-сервер для нескольких серверов в бэкэнде.
Взгляните на вверх по течению модуль для nginx http://wiki.nginx.org/NginxHttpUpstreamModule
Настройте восходящие серверы на одинаковый вес для распределенной циклической балансировки. например
upstream backend {
server ww1.domain.com weight=10;
server ww2.domain.com weight=10;
}
По умолчанию вес равен 1, поэтому технически вам не нужен вес 10, но установка более высокого веса по умолчанию позволяет вам легко представить сервер с меньшим весом.