Não, o nginx não tem uma API de configuração.
Embora haja casos em que você precise marcar manualmente os servidores como inativos, geralmente a configuração de proxy_next_upstream + fail_timeout funcionará.
Estou usando o nginx como um balanceador de carga na frente de minhas instâncias do servidor da web. Eu executo 4 instâncias do servidor web e distribuo o tráfego igualmente entre elas usando o nginx. Quando eu estiver implantando uma nova versão - eu mudo o nginx.conf e marque os 2 primeiros servidores, então reinicie o nginx. Eu atualizo o código do servidor e reinicio os dois primeiros servidores. Em seguida, edito nginx.conf para indicar que os dois primeiros servidores estão ativos e marque os outros dois, novamente, reinicie o nginx. Então eu atualizo e reinicio outras duas instâncias. Novamente atualize o nginx.conf marcando todos os servidores e reiniciando o nginx.
Eu tenho que fazer esse processo várias vezes em alguns dias. Executar manualmente as etapas acima toda vez é propenso a erros.
Existe um acesso programático ao nginx / nginx.conf para que eu possa automatizar esse processo?
[A única maneira que imagino agora é escrever os passos acima no script de shell]
Existe agora o nginx-conf , um módulo NPM que fornece acesso programático às configurações do nginx.
Tags nginx