Невозможно сделать reload при некоторых изменениях listen

simonovbs nginx-forum на forum.nginx.org
Ср Авг 15 05:24:07 UTC 2018


Привет! 
Когда в конфигурация меняется listen, пример:
listen 80; -> listen 127.0.0.1:80;
reload перестает работать, при этом 
# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
# systemctl reload nginx
# tail /var/log/nginx/error.log
2018/08/15 07:55:23 [emerg] 195377#0: bind() to 127.0.0.1:27183 failed (98:
Address already in use)
2018/08/15 07:55:23 [emerg] 195377#0: bind() to 127.0.0.1:27183 failed (98:
Address already in use)
2018/08/15 07:55:23 [emerg] 195377#0: bind() to 127.0.0.1:27183 failed (98:
Address already in use)
2018/08/15 07:55:23 [emerg] 195377#0: bind() to 127.0.0.1:27183 failed (98:
Address already in use)
2018/08/15 07:55:23 [emerg] 195377#0: bind() to 127.0.0.1:27183 failed (98:
Address already in use)
2018/08/15 07:55:23 [emerg] 195377#0: still could not bind()

Логичный выход из ситуации сделать restart. Печально что nginx -t не выдает
ошибок, в связи с чем вопрос: можно ли как-нибудь идентифицировать ситуацию
когда reload сломан кроме как по логам?

Воспроизвелось на nginx/1.12.2, nginx/1.13.12, CentOS Linux release 7.5.1804

Posted at Nginx Forum: https://forum.nginx.org/read.php?21,280880,280880#msg-280880



Подробная информация о списке рассылки nginx-ru