Existe uma interface programática para a configuração do nginx?


8

Estou usando o nginx como um balanceador de carga na frente das instâncias do servidor da web. Eu corro 4 instâncias do servidor web e distribuo o tráfego igualmente entre elas usando o nginx. Quando estou implantando uma nova versão - altero o nginx.conf e marquei primeiro os 2 dos 4 servidores e, em seguida, reinicio o nginx. Eu atualizo o código do servidor e reinicio os 2 primeiros servidores. Depois edito o nginx.conf para indicar que os 2 primeiros servidores estão ativos e marquei os outros 2 como inativos, e reinicio novamente o nginx. Então eu atualizo e reinicio outras duas instâncias. Atualize novamente o nginx.conf marcando todos os servidores e reinicie o final do nginx.

Eu tenho que fazer esse processo várias vezes em alguns dias. A execução manual das etapas acima sempre é passível de erros.

Existe um acesso programático ao nginx / nginx.conf para que eu possa automatizar esse processo?

[A única maneira que imagino agora é escrever as etapas acima no shell script]


3
O que você está fazendo parece muito estranho. Definido fail_timeoutcomo 5s em cada um de vocês, retire dois deles e o NGINX o capturará e redirecionará todo o tráfego para os dois segundos nós. Atualize seu código, aguarde 5 segundos (ou qualquer que seja o valor do tempo limite) e o NGINX começará a usar os dois primeiros servidores, depois desative os dois e repita. NGINX joga muito bem com esse tipo de configuração
Smudge

Respostas:


3

Não, o nginx não possui uma API de configuração.

Embora haja casos em que talvez seja necessário marcar manualmente os servidores como inativos, geralmente a configuração de proxy_next_upstream + fail_timeout funcionará.


Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.