Re: ngx ssl certificates вызывается даже для сайтов без ssl

2018-07-17 Пенетрантность Maxim Dounin
Hello!

On Tue, Jul 17, 2018 at 02:40:18AM -0400, Ilya Evseev wrote:

> А парсинг конфига - это операция по определению однопоточная?
> Её никак не распараллелить?
> Пользователи меняют настройки своих сайтов довольно часто, при этом
> автоматически перестраивается конфиг nginx'a и вызывается nginx -t && nginx
> -s reload.
> Пока https был не в моде, это происходило мгновенно.
> Когда https появится у всех, каждое перечитывание будет длиться по минуте и
> дольше.
> Перспектива малоприятная.

Кажется, что для начала стоит избавится от двух лишних операций 
парсинга конфига, которые делает конструкция "nginx -t && nginx -s 
reload".  Ибо при таком подходе

- сначала "nginx -t" парсит и тестирует конфигурацию;

- потом "nginx -s reload" парсит конфигурацию, чтобы получить 
  из неё pid-файл, после чего отправляет сигнал работающему 
  мастеру;

- и наконец уже мастер парсит конфигурацию, и применяет её.

Из всех этих действий нужно на самом деле только последнее.  Если 
в конфигурации ошибка - мастер это обнаружит сам, и конфигурацию 
отклонит.  Посылать сигнал мастеру можно и нужно напрямую, "kill 
-HUP `cat /path/to/nginx.pid`".

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

Re: a client request body is buffered to a temporary file

2018-07-17 Пенетрантность Maxim Dounin
Hello!

On Tue, Jul 17, 2018 at 01:16:14PM +0300, Vladimir Sopot wrote:

> Хотел бы предложить добавить размер сохраняемого тела в notice 
> "a client request body is buffered to a temporary file 
> /wwwroot/tmp/nginx/client_body_temp/0004405740”, типа “a client 
> request body (100Mb) is buffered to a temporary file 
> /wwwroot/tmp/nginx/client_body_temp/0004405740”. Просто, чтобы 
> понять, то ли пользователи пихают невпихуемое (и насколько) , то 
> ли client_body_buffer_size закручен неправильно.

В общем случае размер тела запроса в момент логгирования сообщения 
про "client request body is buffered to a temporary file" - 
неизвестен.  Так что по большому счёту информацию о размере тела 
запроса всё равно можно получить только из access-лога, настроив 
логгирование $content_length.  Само сообщение стоит рассматривать 
скорее как напоминание о том, что это может иметь смысл сделать, 
если использование дисковой подсистемы для тел запросов не 
ожидается.

Что до "пихают невпихуемое", то для этого есть директива 
client_max_body_size, по умолчанию 1 мегабайт.

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

Re: Nginx Unit + Ruby from rvm.io

2018-07-17 Пенетрантность Igor Sysoev
> On 17 Jul 2018, at 14:21, Reborns  wrote:
> 
> Приветствую. 
> Суть вопроса ... можно ли как то использовать юнит если руби стоит не из APT
> ? Тоесть в системе есть ruby  и  rack .и все это работает на nginx +
> passenger .. но как обяснить юниту что бы  смотрел не в /usr/lib/ruby а  в 
> /usr/local/rvm/gems/ruby-2.4.1 итп. итд.
> 
> для passenger а например в конфиге nginx а есть настройки типа...
> 
>passenger_root /usr/local/rvm/gems/ruby-2.4.1/gems/passenger-5.3.3;
>passenger_ruby /usr/local/rvm/gems/ruby-2.4.1/wrappers/ruby;
>passenger_env_var PATH
> /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin;
> 
> 
> Хочу отказаться от пассенджера в пользу юнита , но при условии что руби
> будет ставиться не из пакетов а через RVM .. 

Для этого придётся собрать unit из исходников с нужными параметрами, например, 
так:
./configure --prefix=/usr/local/

Возможные параметры можно посмотреть так:
./configure --help

Какие параметры используются в уже собранном unitd, можно узнать так:
/path/to/unitd --help

После этого нужно сконфигурировать модуль ruby:
./configure ruby --ruby=/usr/local/rvm/gems/ruby-2.4.1/bin/ruby

Потом собрать и установить:
make
sudo make install

Итак, всё вместе:
./configure --prefix=/usr/local/
./configure ruby --ruby=/usr/local/rvm/gems/ruby-2.4.1/bin/ruby
make
sudo make install


-- 
Igor Sysoev
http://nginx.com

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

Nginx Unit + Ruby from rvm.io

2018-07-17 Пенетрантность Reborns
Приветствую. 
Суть вопроса ... можно ли как то использовать юнит если руби стоит не из APT
? Тоесть в системе есть ruby  и  rack .и все это работает на nginx +
passenger .. но как обяснить юниту что бы  смотрел не в /usr/lib/ruby а  в 
/usr/local/rvm/gems/ruby-2.4.1 итп. итд.

для passenger а например в конфиге nginx а есть настройки типа...

passenger_root /usr/local/rvm/gems/ruby-2.4.1/gems/passenger-5.3.3;
passenger_ruby /usr/local/rvm/gems/ruby-2.4.1/wrappers/ruby;
passenger_env_var PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin;


Хочу отказаться от пассенджера в пользу юнита , но при условии что руби
будет ставиться не из пакетов а через RVM .. 

Спасибо

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

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

a client request body is buffered to a temporary file

2018-07-17 Пенетрантность Vladimir Sopot
Привет!

Хотел бы предложить добавить размер сохраняемого тела в notice "a client 
request body is buffered to a temporary file 
/wwwroot/tmp/nginx/client_body_temp/0004405740”, типа “a client request body 
(100Mb) is buffered to a temporary file 
/wwwroot/tmp/nginx/client_body_temp/0004405740”. Просто, чтобы понять, то ли 
пользователи пихают невпихуемое (и насколько) , то ли client_body_buffer_size 
закручен неправильно.

Спасибо.
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: ngx ssl certificates вызывается даже для сайтов без ssl

2018-07-17 Пенетрантность Илья Шипицин
вт, 17 июл. 2018 г. в 11:40, Ilya Evseev :

> А парсинг конфига - это операция по определению однопоточная?
> Её никак не распараллелить?
> Пользователи меняют настройки своих сайтов довольно часто, при этом
> автоматически перестраивается конфиг nginx'a и вызывается nginx -t && nginx
> -s reload.
> Пока https был не в моде, это происходило мгновенно.
> Когда https появится у всех, каждое перечитывание будет длиться по минуте и
> дольше.
> Перспектива малоприятная.
>


можно распилить на "systemd instantiated units"
и, соответственно, перегружать только то, что поменялось (а не всё каждый
раз).


в целом эта гонка вооружений "запихать всё-всё-всё в один конфиг и делать
reload" печалит, конечно


на reload есть неприятный выбор из двух зол - оставлять или принудительно
закрывать worker-ы (например, у вас есть stream-ы долгоиграющие, которые
своим чередом никогда не закроются).
как поступить, оставить их навечно ? тогда закончится память. принудительно
прописать worker_shutdown_timeout ? тогда к вам придут жаловаться
пользователи stream-ов.


>
> Posted at Nginx Forum:
> https://forum.nginx.org/read.php?21,280525,280543#msg-280543
>
> ___
> nginx-ru mailing list
> nginx-ru@nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-ru
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: ngx ssl certificates вызывается даже для сайтов без ssl

2018-07-17 Пенетрантность Ilya Evseev
А парсинг конфига - это операция по определению однопоточная?
Её никак не распараллелить?
Пользователи меняют настройки своих сайтов довольно часто, при этом
автоматически перестраивается конфиг nginx'a и вызывается nginx -t && nginx
-s reload.
Пока https был не в моде, это происходило мгновенно.
Когда https появится у всех, каждое перечитывание будет длиться по минуте и
дольше.
Перспектива малоприятная.

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

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