Nginx — как выключать и включать один из серверов в upstream?

Добрый день.

Встала такая задача: включать и выключать один из серверов в upstream Nginx'a по команде, или каким-то иным образом. Сейчас это просто делается добавлением символа "#" перед одним из серверов в upstream. Вот так:

upstream backend {
#    server 192.168.12.1;
    server 192.168.12.2;
}


И перезагрузкой Nginx:

nginx -s reload

Есть какие-либо варианты как это делать проще, не залезая в конфиг, не ставя и убирая символ "#"?
  • Вопрос задан
  • 269 просмотров
Пригласить эксперта
Ответы на вопрос 1
AlekseyNemiro
@AlekseyNemiro
full-stack developer
Сделать два файла конфигурации и менять их местами, когда необходимо :-) Первый отключать, включать второй и наоборот.

Или использовать директиву include.

Процесс можно автоматизировать. В том числе и вариант с комментариями (хотя именно с комментариями будет сложно, можно более простой вариант найти). Думаю, можно просто сделать шаблон файла конфигурации с текстовым маркером вместо server или адреса сервера, заменять этот маркер на нужное значение (типа: sed -i.bak s/anymarker/192.168.12.2/g example.conf) и затем заменять файл конфигурации.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы