NginxのUNIXドメインソケット

このサイトが突然アクセスできなくなったので調べてみたところ、ソケットにアクセスできない現象が発生していました。

nginx: [emerg] bind() to unix:/var/run/mail.sock failed (98: Address already in use)

nginxが再起動した時に前のソケットが残っていて再接続ができなくなっていました。解決方法は前も同じ現象があった時に、systemdファイルを変更したことがあったので、備忘録用に記事にしました。

/lib/systemd/system/nginx.service

#ExecStop=-/sbin/start-stop-daemon --quiet --stop --retry QUIT/5 --pidfile /run/nginx.pid
ExecStop=-/sbin/start-stop-daemon --stop --quiet --oknodo --retry=0/30/KILL/5 --exec $DAEMON
systemctl daemon-reload
systemctl start nginx

サイトは自動的にアップデートする仕様になっているので、システムを変更していると突然使えなくなることがあります。