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