Re: listen unix socket - после перезагрузки Nginx - failed (98: Address already in use)
Maxim Dounin
mdounin на mdounin.ru
Пн Апр 17 16:35:09 UTC 2017
Hello!
On Mon, Apr 17, 2017 at 11:50:00AM -0400, S.A.N wrote:
> Может я что-то не так делаю, в конфиге указываю:
>
> server
> {
> listen unix:/var/run/www/test.sock;
> ....
> }
>
> Nginx создает файл сокета при старте, но после перезагрузки systemctl
> restart nginx, файл не удаляется и Nginx не может к нему забиндится, в логе
> выдает ошибку
> [emerg] bind() to unix:/var/run/www/test.sock failed (98: Address already in
> use)
>
> Что делать?
Вариантов как минимум два:
- поменять сигнал остановки в описании сервиса systemd на TERM;
- не делать restart, а использовать reload.
Вообще тикет про это - https://trac.nginx.org/nginx/ticket/753.
Но в целом идея, что для остановки nginx'а системными скриптами
надо использовать QUIT - она, скажем так, странная.
--
Maxim Dounin
http://nginx.org/
Подробная информация о списке рассылки nginx-ru