概要 Nginx + GoのApp という構成をとっている時に、単純にデプロイでGoだけ更新するとNginxからは [error] 1413#1413: *1 connect() failed (111: Connection refused) [error] 1412#1412: *3 connect() failed (111: Connection refused) [error] 1412#1412: *5 connect() failed (111: Connection refused) このような111: Connection refusedエラーが起きて、クライアント側には502エラーが返ってしまいます。 理由はデプロイ時にプロセスが一時的に落ちるためです。 これを防ぐためにCircusというソケットマネージャを利用します。 環境 Ubuntu 16.04 Nginx 1.
![Circusを使ってgraceful restart - Carpe Diem](https://cdn-ak-scissors.b.st-hatena.com/image/square/2d481fe23e889623c2a39fe41d46b1f1dd0a0c81/height=288;version=1;width=512/https%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Fq%2Fquoll00%2F20190130%2F20190130114748.gif)