Назад | Перейти на главную страницу

Есть ли программный интерфейс для конфигурации nginx?

Я использую nginx в качестве балансировщика нагрузки перед экземплярами моего веб-сервера. Я запускаю 4 экземпляра веб-сервера и равномерно распределяю трафик между ними с помощью nginx. Когда я развертываю новую версию - я меняю nginx.conf и помечаю первые 2 из 4 серверов как отключенные, затем перезапускаю nginx. Я обновляю код сервера и перезапускаю первые 2 сервера. Затем я редактирую nginx.conf, чтобы указать, что первые 2 сервера включены, и отмечать другие 2 как отключенные, снова перезапускаю nginx. Затем я обновляю и перезапускаю два других экземпляра. Снова обновите nginx.conf, пометив все серверы и окончательный перезапуск nginx.

В некоторые дни мне приходится проделывать этот процесс несколько раз. Выполнение вышеуказанных шагов вручную каждый раз может привести к ошибкам.

Есть ли программный доступ к nginx / nginx.conf, чтобы я мог автоматизировать этот процесс?

[Единственный способ, которым я сейчас представляю, - это написать вышеуказанные шаги в сценарии оболочки]

Нет, у nginx нет API конфигурации.

Хотя бывают случаи, когда вам может потребоваться вручную пометить серверы как неработающие, обычно сработает настройка proxy_next_upstream + fail_timeout.

Есть сейчас nginx-conf, модуль NPM, обеспечивающий программный доступ к конфигурациям nginx.