Sto usando nginx come un bilanciamento del carico davanti alle mie istanze del web server. Corro 4 istanze del web server e distribuisco equamente il traffico su di loro usando nginx. Durante la distribuzione di una nuova versione, cambio nginx.conf e contrassegno i primi 2 dei 4 server, quindi riavvio nginx. Aggiornamento il codice del server e riavvio i primi 2 server. Quindi modifico nginx.conf per indicare che i primi 2 server sono attivi e contrassegnare gli altri 2 in basso, quindi riavviare nginx. Quindi aggiorno e riavvio altre due istanze. Aggiorna nuovamente nginx.conf contrassegnando tutti i server e il riavvio finale di nginx.
Devo fare questo processo più volte in alcuni giorni. Eseguendo manualmente i passaggi precedenti ogni volta risulta essere soggetto a errori.
Esiste un accesso programmatico a nginx / nginx.conf in modo da poter automatizzare questo processo?
[L'unico modo che immagino in questo momento è scrivere sopra i passaggi nello script della shell]
fail_timeout
su 5 secondi su ciascuno di essi, ne abbatte due e NGINX lo raccoglierà e reindirizzerà tutto il traffico verso i secondi due nodi. Aggiorna il tuo codice, attendi 5 secondi (o qualunque sia il tuo valore di timeout) e NGINX inizierà a utilizzare i primi due server, quindi abbassa i secondi due e ripeti. NGINX gioca molto bene con quel tipo di installazione