Re: nginx reload & restart

2016-04-18 Пенетрантность Maxim Dounin
Hello!

On Mon, Apr 18, 2016 at 06:50:27PM +0300, Анатолий Коростелев wrote:

> Здравствуйте!
> 
> Подскажите, пожалуйста, есть ли список параметров в конфигурационном файле
> nginx, при изменении/добавлении/удаления которых достаточно и беспроблемно
> использовать nginx reload, а не nginx restart/upgrade? В моей конфигурации
> на множество серверов прилетают обновления конфигурационных файлов nginx и
> хотелось бы минимизировать использовать restart/upgrade.

Проблемы с reload'ом могут быть в случаях, когда затрагиваются 
параметры, разделяемые между многими процессами.  В частности:

- При изменениях зон разделяемой памяти - нельзя менять размеры 
  существующих зон и/или их использование (скажем, в limit_req 
  нельзя поменять одну переменную на другую).  При этом можно 
  создать новую зону с произвольными параметрами - при этом в старых 
  рабочих процессах останется старая зона, а в новых - будет 
  использоваться уже новая.

- На Linux'е могут быть проблемы с изменением слушающих сокетов, 
  т.к. скажем слушать на *:80 и 127.0.0.1:80 одновременно Linux не 
  разрешает.  Соответственно, при замене в конфигах одного на 
  другое reload будет невозможен, т.к. Linux не разрешит сделать 
  bind() для сокета из новой конфигурации

Если nginx не может сделать reload по каким либо причинам, в том 
числе - по перечисленным выше, а равно из-за каких-либо ошибок, - 
об этом будет написано в логе, а сам nginx останется работать с 
прежней конфигурацией.

> В основном, мой вопрос касается в случае обновления файлов ssl-сертификата и
> ключа, достаточно будет в этом случае reload или будут подводные камни?

Каких-либо специфических проблем при обновлении сертификатов - 
быть не должно.  Однако в любом случае могут возникнуть 
непредвиденные проблемы - e.g., может банально кончится память.  
Т.е. в любом случае - стоит смотреть в логи.  Использовать 
restart/upgrade для обновления сертификатов - однозначно не надо.

-- 
Maxim Dounin
http://nginx.org/

___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: nginx reload & restart

2016-04-18 Пенетрантность Иван
В письме от 18 апреля 2016 18:50:27 пользователь Анатолий Коростелев 
написал:
> Здравствуйте!
> 
> Подскажите, пожалуйста, есть ли список параметров в конфигурационном
> файле nginx, при изменении/добавлении/удаления которых достаточно и
> беспроблемно использовать nginx reload, а не nginx restart/upgrade? В
> моей конфигурации на множество серверов прилетают обновления
> конфигурационных файлов nginx и хотелось бы минимизировать 
использовать
> restart/upgrade.
> 
> В основном, мой вопрос касается в случае обновления файлов
> ssl-сертификата и ключа, достаточно будет в этом случае reload или будут
> подводные камни?
> 
> P.S. Версия nginx/1.9.13

Здравствуйте!

> SIGHUP   Reload configuration, start the new worker process with a
> new configuration, and gracefully shut down old worker pro‐> 
>   cesses.

Так что можете использовать reload при любом обновлении конфигурации. 
Касательно обновления сертификатов у меня по крону обновляются 
сертификаты от letsencrypt с дальнейшим nginx reload. Подводных камней не 
заметил.

Только не забывайте проверять файлы конфигурации на ошибки. nginx, 
получивший SIGHUP промолчит при ошибках в конфиге. Поэтому перед этим 
надо делать nginx -t.

С уважением, Иван.
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

nginx reload & restart

2016-04-18 Пенетрантность Анатолий Коростелев

Здравствуйте!

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


В основном, мой вопрос касается в случае обновления файлов 
ssl-сертификата и ключа, достаточно будет в этом случае reload или будут 
подводные камни?


P.S. Версия nginx/1.9.13

--
С уважением,
Коростелев Анатолий

___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru