Re: Перечитка конфигураций nginx

2022-07-07 Пенетрантность Anton Kiryushkin
5-7 секунд еще не долго. Вот минут 5 - это было больно. И насколько я
помню, влияет не число инклудов, а число локейшенов и апстримов.

On Thu, 7 Jul 2022 at 09:54, ru4ag  wrote:

> Здравствуйте.
>
> Испольузем на больших серверах панель ISPmanager, в качестве веб-сервов
> связка nginx+apache(в некоторых случая nginx+php-fpm), столкнулись с такой
> ситуация что  выполнение команды nginx -t может происходить более чем 5-8
> секунд, что напрямую влияет на работу панели и т.д., в ходе анализа
> выявленно что для каждого домена панель создает несколько include, и один
> из
> них "подключает" 7-8 стандартных файлов с директории
> /etc/nginx/vhosts-includes/ и выходит что при каждом nginx -t проверяеться
> конфигурация домена, и каждого из его includ'ов, и в результате из общего
> количества открытия файлов во время nginx -t(используя просмотр через
> strace) в ~60тис файлов, 30тис обращений являються обращениями к одним и
> тем
> же 8 файлам. То есть по 3,5тис обращений на одини тот же файл.
>
> Вот и возникакет вопрос, ести ли какой то функционал возможно-го кеша, что
> бы подключенные через include одни и те же файлы не проверялись при
> 2,3,4...проверке(т.к. достаточно 1 раз проверить), и если нет(что скорее
> всего), стоит ли ожидать какой-то такой реализации в ядре nginx(как по мне
> "загнать" файл в кеш, и при последующей его проверка во время выполнения
> nginx -t/reload/restart уже не проверять)?
>
> Posted at Nginx Forum:
> https://forum.nginx.org/read.php?21,294669,294669#msg-294669
>
> ___
> nginx-ru mailing list -- nginx-ru@nginx.org
> To unsubscribe send an email to nginx-ru-le...@nginx.org
>


-- 
Best regards,
Anton Kiryushkin
___
nginx-ru mailing list -- nginx-ru@nginx.org
To unsubscribe send an email to nginx-ru-le...@nginx.org


Re: Можно ли сгенерировать случайную строку в переменну так как это делает nginx для request id?

2021-05-13 Пенетрантность Anton Kiryushkin
Можно попробовать сторонние модули, вроде lua или js.

On Thu, 13 May 2021 at 01:07, budarin  wrote:

> Мне нужно для CSP политики генерировать случайный nonce для каждого запроса
> и записывать его в заголовок политики и затем этот же none передать в
> заголовках апстриму
>
> Posted at Nginx Forum:
> https://forum.nginx.org/read.php?21,291507,291507#msg-291507
>
> ___
> nginx-ru mailing list
> nginx-ru@nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-ru

-- 
Best regards,
Anton Kiryushkin
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: unit и его лог

2019-07-15 Пенетрантность Anton Kiryushkin
Я прошу прощения, но все же можно ли выдрать по мотивам последнего патча
хоть что-то еще, что, вероятно, вернул интерпретатор? Не только код, но
может быть и хоть какое-то сообщение, а-ля дебаг-хардкор-только не в
продакшн?
Все exception в коде всегда имеют сообщение, но 500-е коды продолжаются.

пн, 15 июл. 2019 г. в 15:51, Валентин Бартенев :

> On Sunday 14 July 2019 22:09:01 Anton Kiryushkin wrote:
> > Валентин, спасибо, за ваш совет, пересобрал Unit и получил довольно
> > загадочную картину. К примеру.
> > Вот сообщение в логе Unit:
> > 2019/07/15 00:02:48.152 [warn] 20971#20971 [unit] #174772: application
> > returned 500 response
> >
> > Окей, идем в лог ошибок php и ищем, что ж было:
> > [15-Jul-2019 00:02:48 Europe/Moscow] Failed to connect [111]: Connection
> > refused
> >
> > Внимание вопрос. Как тут узнать причину?
> >
>
> Ни в исходниках интерпретатора PHP, ни в исходниках Unit-а нет таких
> строчек.
>
> Следовательно строчка генерируется и пишется самими php скриптами.  Имеет
> смысл
> сделать grep по всем php скриптам и таким образом найти где именно
> создается эта
> строчка и генерируется 500-ый ответ.
>
> С php-fpm в данном случае было бы ровно то же самое.
>
> --
> Валентин Бартенев
>
>
>
> > ср, 3 июл. 2019 г. в 18:47, Валентин Бартенев :
> >
> > > On Wednesday 03 July 2019 12:47:01 Anton Kiryushkin wrote:
> > > > Спасибо за ваш ответ.
> > > >
> > > > Ответ от php-fpm я мог найти в error-log nginx-a. Ну я не скажу,
> какую
> > > > именно. Еще раз, проблема заключается в том, что в логе в access.log
> > > nginx
> > > > есть 500-й код ответа. Но причину этого 500-го кода нельзя найти в
> логе
> > > > ошибок php (а там прописана опция error_log), и логе unit и в логе
> nginx,
> > > > потому что там в принципе не должно быть этих ошибок. В случае с fpm
> в
> > > логе
> > > > ошибок nginx гарантированно причину можно было найти. Приложение не
> > > > возвращает просто так 500-ю ошибку.
> > > >
> > > > Поэтому и возник вопрос, как же можно заставить unit писать лог любых
> > > своих
> > > > ошибок в какой-то файл. Ну или куда вообще можно было бы копать, так
> как
> > > > возможные вещи, которые есть возможность предпринять в php, на мой
> > > взгляд,
> > > > предприняты.
> > > [..]
> > >
> > > В error-log nginx писалось то, что приходило от php-fpm через
> stderr-канал,
> > > а тот в свою очередь посылал туда то, что php писал в stderr.
> > >
> > > В случае Unit-а весь stderr из php направляется в unit.log и
> собственно там
> > > и должен быть.
> > >
> > > Могу предложить попробовать собрать php модуль с патчем ниже.  В этом
> > > случае
> > > всякий раз, когда php-интерпретатор возвращает ответ с 500-ым кодом, в
> > > unit.log
> > > будет об этом запись.
> > >
> > > 2019/07/03 20:45:02.899 [warn] 14919#14919 [unit] #7: application
> returned
> > > 500 response
> > >
> > > Это, как минимум, позволит исключить ситуацию, что 500-ую генерирует
> сам
> > > Unit
> > > и не сообщает об этом по какой-то причине.
> > >
> > > --
> > > Валентин Бартенев
> > >
> > >
> > > diff -r 2b068c8361f9 src/nxt_php_sapi.c
> > > --- a/src/nxt_php_sapi.cTue Jul 02 16:44:08 2019 +0300
> > > +++ b/src/nxt_php_sapi.cWed Jul 03 20:32:38 2019 +0300
> > > @@ -774,6 +774,10 @@ nxt_php_send_headers(sapi_headers_struct
> > >  status = 200;
> > >  }
> > >
> > > +if (status == 500) {
> > > +    nxt_unit_req_warn(req, "application returned 500 response");
> > > +}
> > > +
> > >  rc = nxt_unit_response_init(req, status, fields_count, resp_size);
> > >  if (nxt_slow_path(rc != NXT_UNIT_OK)) {
> > >  return SAPI_HEADER_SEND_FAILED;
> > >
> > >
> > > ___
> > > nginx-ru mailing list
> > > nginx-ru@nginx.org
> > > http://mailman.nginx.org/mailman/listinfo/nginx-ru
> >
> >
> >
> > --
> > Best regards,
> > Anton Kiryushkin
> ___
> nginx-ru mailing list
> nginx-ru@nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-ru



-- 
Best regards,
Anton Kiryushkin
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: unit и его лог

2019-07-14 Пенетрантность Anton Kiryushkin
Валентин, спасибо, за ваш совет, пересобрал Unit и получил довольно
загадочную картину. К примеру.
Вот сообщение в логе Unit:
2019/07/15 00:02:48.152 [warn] 20971#20971 [unit] #174772: application
returned 500 response

Окей, идем в лог ошибок php и ищем, что ж было:
[15-Jul-2019 00:02:48 Europe/Moscow] Failed to connect [111]: Connection
refused

Внимание вопрос. Как тут узнать причину?

ср, 3 июл. 2019 г. в 18:47, Валентин Бартенев :

> On Wednesday 03 July 2019 12:47:01 Anton Kiryushkin wrote:
> > Спасибо за ваш ответ.
> >
> > Ответ от php-fpm я мог найти в error-log nginx-a. Ну я не скажу, какую
> > именно. Еще раз, проблема заключается в том, что в логе в access.log
> nginx
> > есть 500-й код ответа. Но причину этого 500-го кода нельзя найти в логе
> > ошибок php (а там прописана опция error_log), и логе unit и в логе nginx,
> > потому что там в принципе не должно быть этих ошибок. В случае с fpm в
> логе
> > ошибок nginx гарантированно причину можно было найти. Приложение не
> > возвращает просто так 500-ю ошибку.
> >
> > Поэтому и возник вопрос, как же можно заставить unit писать лог любых
> своих
> > ошибок в какой-то файл. Ну или куда вообще можно было бы копать, так как
> > возможные вещи, которые есть возможность предпринять в php, на мой
> взгляд,
> > предприняты.
> [..]
>
> В error-log nginx писалось то, что приходило от php-fpm через stderr-канал,
> а тот в свою очередь посылал туда то, что php писал в stderr.
>
> В случае Unit-а весь stderr из php направляется в unit.log и собственно там
> и должен быть.
>
> Могу предложить попробовать собрать php модуль с патчем ниже.  В этом
> случае
> всякий раз, когда php-интерпретатор возвращает ответ с 500-ым кодом, в
> unit.log
> будет об этом запись.
>
> 2019/07/03 20:45:02.899 [warn] 14919#14919 [unit] #7: application returned
> 500 response
>
> Это, как минимум, позволит исключить ситуацию, что 500-ую генерирует сам
> Unit
> и не сообщает об этом по какой-то причине.
>
> --
> Валентин Бартенев
>
>
> diff -r 2b068c8361f9 src/nxt_php_sapi.c
> --- a/src/nxt_php_sapi.cTue Jul 02 16:44:08 2019 +0300
> +++ b/src/nxt_php_sapi.cWed Jul 03 20:32:38 2019 +0300
> @@ -774,6 +774,10 @@ nxt_php_send_headers(sapi_headers_struct
>  status = 200;
>  }
>
> +if (status == 500) {
> +nxt_unit_req_warn(req, "application returned 500 response");
> +}
> +
>  rc = nxt_unit_response_init(req, status, fields_count, resp_size);
>  if (nxt_slow_path(rc != NXT_UNIT_OK)) {
>  return SAPI_HEADER_SEND_FAILED;
>
>
> ___
> nginx-ru mailing list
> nginx-ru@nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-ru



-- 
Best regards,
Anton Kiryushkin
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

too long parameter

2019-07-09 Пенетрантность Anton Kiryushkin
Здравствуйте.

Пока не получается воспроизвести проблему, но в логе ошибок переодически
возникает сообщение вида:

too long parameter "#
На строке, которая, и является комментарием:
# this is search location for service srv784

Таких строчек-комментариев (конфиг генерируется скриптом) у меня в файле
довольно много.
Все бы и ничего, но nginx по каким-то причинам после этого сообщения
перестает слушать порты на какое-то время.

Что с этим можно сделать и вообще что это такое? Гугл не помог. Версия
nginx 1.12.0.
Сам конфиг, ну примитивный, 5 location без реврайтов и regexp.

-- 
Best regards,
Anton Kiryushkin
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: unit и его лог

2019-07-03 Пенетрантность Anton Kiryushkin
Спасибо за ваш ответ.

Ответ от php-fpm я мог найти в error-log nginx-a. Ну я не скажу, какую
именно. Еще раз, проблема заключается в том, что в логе в access.log nginx
есть 500-й код ответа. Но причину этого 500-го кода нельзя найти в логе
ошибок php (а там прописана опция error_log), и логе unit и в логе nginx,
потому что там в принципе не должно быть этих ошибок. В случае с fpm в логе
ошибок nginx гарантированно причину можно было найти. Приложение не
возвращает просто так 500-ю ошибку.

Поэтому и возник вопрос, как же можно заставить unit писать лог любых своих
ошибок в какой-то файл. Ну или куда вообще можно было бы копать, так как
возможные вещи, которые есть возможность предпринять в php, на мой взгляд,
предприняты.

ср, 3 июл. 2019 г. в 12:10, Валентин Бартенев :

> On Wednesday 03 July 2019 10:36:52 Anton Kiryushkin wrote:
> > Валентин, подскажите, тогда, пожалуйста.
> >
> > У меня вот есть связка nginx + unit (php).
> > И иногда на сайте получается 500-я ошибка. Логи php пишутся и там кроме
> > огромного количества строчек вида:
> >
> > [03-Jul-2019 10:46:01 Europe/Moscow] Failed to connect [111]: Connection
> > refused
> >
> >
> > Нет больше ничего полезного. Смотрю в лог unit и там тоже нет хоть
> > какого-либо прямого или косвенного сообщения о том, что пошло не так.
> Кроме
> > того, о чем я писал выше.
> > В этом смысле nginx + php-fpm давал более прозрачную картину мира. Есть
> > ошибка - она есть в логе. Тут вот как-то не всегда.
> [..]
>
> А какую ошибку в этом случае писал php-fpm?  Можно пример?
>
> Я бы посмотрел по исходникам php, где она возникает и в каких случаях
> пишется.
>
>
> > Может быть я что-то не знаю или упустил во время настройки? Конфиг unit у
> > меня весьма тривиальный:
> >
> > {
> > "listeners": {
> > "127.0.0.1:8091": {
> > "application": "direct_php"
> > }
> >},
> >"direct_php": {
> > "type": "php5.6",
> > "processes": {
> > "max": 13,
> > "spare": 0
> > },
> >
> > "user": "www-data",
> > "group": "www-data",
> > "root": "/data/site.ru/web/",
> > "index": "index.php"
> > }
> > },
> > "access_log": "/var/log/nginx/unit_access.log"
> > }
> >
> > Может быть у меня воркеры иногда заканчиваются и эта 500я вовсе не от
> php,
> > а от unit, но почему бы тогда куда-то об этом не сообщать?
> [..]
>
> Unit обычно громко ругается в лог, если что-то пошло не так и он сам был
> вынужден сгенерировать 500-ую ошибку.  Но если 500 код ответа был возвращен
> из приложения нормальным путем, то тут нечего больше добавить.
>
> Также как и php-fpm мы отдаем запрос php интерпретатору, тот генерирует
> какой-то ответ с определенным кодом и отдает его обратно.  Попутно он
> может сам что-то логгировать, но это никак не конролируется со стороны
> SAPI, будь то php-fpm, будь то Unit.
>
> Возможно имеет смысл добавить логгирование о том, что вот мол приложение
> вернуло нам 500, чтобы не возникало вопросов, откуда этот ответ родился.
>
> Стоит учесть, что php-fpm и libphp (которую Unit использует) обычно
> используют
> разные php.ini файлы.  И настройки логгирования и репортинга ошибок там
> могут
> отличаться.  Имеет смысл сделать ревизию используемого с Unit-том php.ini
> на
> предмет соответствующих настроек:
>
> https://www.php.net/manual/en/errorfunc.configuration.php
>
> --
> Валентин Бартенев
> ___
> nginx-ru mailing list
> nginx-ru@nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-ru



-- 
Best regards,
Anton Kiryushkin
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: unit и его лог

2019-07-03 Пенетрантность Anton Kiryushkin
Валентин, подскажите, тогда, пожалуйста.

У меня вот есть связка nginx + unit (php).
И иногда на сайте получается 500-я ошибка. Логи php пишутся и там кроме
огромного количества строчек вида:

[03-Jul-2019 10:46:01 Europe/Moscow] Failed to connect [111]: Connection
refused


Нет больше ничего полезного. Смотрю в лог unit и там тоже нет хоть
какого-либо прямого или косвенного сообщения о том, что пошло не так. Кроме
того, о чем я писал выше.
В этом смысле nginx + php-fpm давал более прозрачную картину мира. Есть
ошибка - она есть в логе. Тут вот как-то не всегда.
Может быть я что-то не знаю или упустил во время настройки? Конфиг unit у
меня весьма тривиальный:

{
"listeners": {
"127.0.0.1:8091": {
"application": "direct_php"
}
   },
   "direct_php": {
"type": "php5.6",
"processes": {
"max": 13,
"spare": 0
},

"user": "www-data",
"group": "www-data",
"root": "/data/site.ru/web/",
"index": "index.php"
}
},
"access_log": "/var/log/nginx/unit_access.log"
}

Может быть у меня воркеры иногда заканчиваются и эта 500я вовсе не от php,
а от unit, но почему бы тогда куда-то об этом не сообщать?

вс, 16 июн. 2019 г. в 04:29, Валентин Бартенев :

> On Sunday, 16 June 2019 00:31:15 MSK Anton Kiryushkin wrote:
> > Здравствуйте.
> >
> > Подскажите, пожалуйста, как правильно читать лог unitd:
> >
> > 2019/06/15 23:08:18 [info] 890#1012 *959 shutdown(182, 2) failed (107:
> > Transport endpoint is not connected)
> > 2019/06/15 23:08:25 [info] 890#1011 *1008 shutdown(182, 2) failed (107:
> > Transport endpoint is not connected)
> > 2019/06/15 23:09:16 [info] 890#1004 *1009 shutdown(186, 2) failed (107:
> > Transport endpoint is not connected)
> > 2019/06/15 23:09:21 [info] 890#1013 *1266 shutdown(180, 2) failed (107:
> > Transport endpoint is not connected)
> > 2019/06/15 23:10:25 [info] 890#1007 *1493 shutdown(187, 2) failed (107:
> > Transport endpoint is not connected)
> > 2019/06/15 23:10:40 [info] 890#1007 *1633 shutdown(176, 2) failed (107:
> > Transport endpoint is not connected)
> > 2019/06/15 23:10:43 [info] 890#1007 *1647 shutdown(183, 2) failed (107:
> > Transport endpoint is not connected)
> > 2019/06/15 23:10:46 [info] 890#1012 *1653 shutdown(182, 2) failed (107:
> > Transport endpoint is not connected)
> > 2019/06/15 23:10:50 [info] 890#1013 *1682 shutdown(183, 2) failed (107:
> > Transport endpoint is not connected)
> > 2019/06/15 23:11:14 [info] 890#1007 *1769 shutdown(179, 2) failed (107:
> > Transport endpoint is not connected)
>
> Клиент успел закрыть соединение раньше, чем это сделал Unit.
> Абсолютно нормальная ситуация.
>
>
> > 2019/06/15 23:11:18 [error] 890#1007 *1782 send(180, 7F1195A6AF80,
> 1283623)
> > failed (32: Broken pipe)
>
> Клиент закрыл соединение не дождавшись ответа, так бывает.
>
>
> >
> > Тут есть info и error. Верно ли, что info это про то, что запрос
> > завершился, все хорошо, просто ответ был отправлен клиенту. Про что
> error?
> >
> > Попутно, можно ли keepalive использовать между nginx и unit?
> >
>
> Можно.
>
> --
> Валентин Бартенев
> ___
> nginx-ru mailing list
> nginx-ru@nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-ru



-- 
Best regards,
Anton Kiryushkin
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

unit и его лог

2019-06-15 Пенетрантность Anton Kiryushkin
Здравствуйте.

Подскажите, пожалуйста, как правильно читать лог unitd:

2019/06/15 23:08:18 [info] 890#1012 *959 shutdown(182, 2) failed (107:
Transport endpoint is not connected)
2019/06/15 23:08:25 [info] 890#1011 *1008 shutdown(182, 2) failed (107:
Transport endpoint is not connected)
2019/06/15 23:09:16 [info] 890#1004 *1009 shutdown(186, 2) failed (107:
Transport endpoint is not connected)
2019/06/15 23:09:21 [info] 890#1013 *1266 shutdown(180, 2) failed (107:
Transport endpoint is not connected)
2019/06/15 23:10:25 [info] 890#1007 *1493 shutdown(187, 2) failed (107:
Transport endpoint is not connected)
2019/06/15 23:10:40 [info] 890#1007 *1633 shutdown(176, 2) failed (107:
Transport endpoint is not connected)
2019/06/15 23:10:43 [info] 890#1007 *1647 shutdown(183, 2) failed (107:
Transport endpoint is not connected)
2019/06/15 23:10:46 [info] 890#1012 *1653 shutdown(182, 2) failed (107:
Transport endpoint is not connected)
2019/06/15 23:10:50 [info] 890#1013 *1682 shutdown(183, 2) failed (107:
Transport endpoint is not connected)
2019/06/15 23:11:14 [info] 890#1007 *1769 shutdown(179, 2) failed (107:
Transport endpoint is not connected)
2019/06/15 23:11:18 [error] 890#1007 *1782 send(180, 7F1195A6AF80, 1283623)
failed (32: Broken pipe)

Тут есть info и error. Верно ли, что info это про то, что запрос
завершился, все хорошо, просто ответ был отправлен клиенту. Про что error?

Попутно, можно ли keepalive использовать между nginx и unit?

-- 
Best regards,
Anton Kiryushkin
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: непонятное поведение

2019-06-07 Пенетрантность Anton Kiryushkin
Здравствуйте.

Без конфигурационного сервера всем тоже не понятно.

On Fri, 7 Jun 2019 at 10:37, Aln Kapa  wrote:

> Добрый день.
>
> Случайно наткнулся вот на это:
>
> 185.172.110.221 - - [07/Jun/2019:07:03:52 +0300] "GET
> http://185.172.110.221:80/proxy_get.php?ip=62.122.99.46=bar HTTP/1.0"
> 302 138 "-" "HTTP-Proxy-Tester"
>
> Правильно ли я понимаю, так как 185.172.110.221 не мой IP, соответственно
> ответ должен быть 4xx.
> Почему 302 вот не разу не понял?
>
>
> ___
> nginx-ru mailing list
> nginx-ru@nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-ru

-- 
Best regards,
Anton Kiryushkin
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: Unitd + client_addr

2019-05-31 Пенетрантность Anton Kiryushkin
Конечно, нет никаких проблем положить в X-Real-IP.
Однако, мой вопрос был про REMOTE_ADDR.

пт, 31 мая 2019 г. в 23:13, Vadim A. Misbakh-Soloviov :

> Если проксируется сквозь NginX, то, вроде как, вообще никаких проблем
> положить
> IP в какой-нибудь X-заголовок и брать оттуда...
>
> В письме от пятница, 31 мая 2019 г. 18:51:15 MSK пользователь Anton
> Kiryushkin
> написал:
> > Здравствуйте.
> >
> > Не подскажете, какова судьба вот этого тикета:
> > https://github.com/nginx/unit/issues/132
> >
> > А так же, возможно, есть прямой способ, как получить в php, запускаемом
> > через unit клиентский айпишник? Сейчас там 127.0.0.1, что очень и очень
> > плохо и ставит использование unit под жирный вопрос.
> >
> > --
> > Best regards,
> > Anton Kiryushkin
>
> ___
> nginx-ru mailing list
> nginx-ru@nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-ru



-- 
Best regards,
Anton Kiryushkin
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Unitd + client_addr

2019-05-31 Пенетрантность Anton Kiryushkin
Здравствуйте.

Не подскажете, какова судьба вот этого тикета:
https://github.com/nginx/unit/issues/132

А так же, возможно, есть прямой способ, как получить в php, запускаемом
через unit клиентский айпишник? Сейчас там 127.0.0.1, что очень и очень
плохо и ставит использование unit под жирный вопрос.

-- 
Best regards,
Anton Kiryushkin
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: unitd + php5.6

2019-04-23 Пенетрантность Anton Kiryushkin
Валентин, спасибо, как-то я это или пропустил в доке, или не написано.
Теперь собралось, вопрос снят.

вт, 23 апр. 2019 г. в 15:13, Валентин Бартенев :

> On Tuesday 23 April 2019 14:42:48 Anton Kiryushkin wrote:
> > Здравствуйте.
> >
> > Пытаюсь собрать модуль для unitd для запуска php5.6 (на сервере есть и
> 7-й,
> > но в данном случае нужен именно 5-й).
> >
> > Сам php5.6 есть, у него есть php-config5.6, однако unitd при сборке
> упорно
> > утверждает, что у него что-то не так:
> >
> > # ./configure php --module=php5.6 --config=/usr/bin/php-config5.6
> > --lib-path=/usr/lib/apache2/modules
>
> Это видимо директория с модулями Apache, которые к Unit-у никакого
> отношения не имеют.
>
>
> > configuring PHP module
> > checking for PHP ... found
> >  + PHP SAPI: [apache2handler cgi cli fpm]
>
> В списке нет embed, т.е. php был собран без библиотеки libphp.
>
>
> > checking for PHP embed SAPI ... not found
> >
> > ./configure: error: no PHP embed SAPI found.
> >
> >
> > Как бы точно понять, что не так? Файлы-то есть.
> >
>
> $ ./configure php --module=php56 --config=/usr/lib64/php5.6/bin/php-config
> --lib-path=/usr/lib64/php5.6/lib64
> configuring PHP module
> checking for PHP ... found
>  + PHP SAPI: [embed cli cgi fpm]
> checking for PHP embed SAPI ... found
> checking for PHP zend_signal_startup() ... not found
> checking for PHP version ... 5.6.38-pl0-gentoo
>  + PHP module: php56.unit.so
>
> $ ls /usr/lib64/php5.6/lib64
> libphp5.so  opcache.so
>
> $ /usr/lib64/php5.6/bin/php-config --php-sapis
> embed cli cgi fpm
>
> $ /usr/lib64/php5.6/bin/php-config --configure-options | grep embed
> --prefix=/usr --build=x86_64-pc-linux-gnu --host=x86_64-pc-linux-gnu
> --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share
> --sysconfdir=/etc --localstatedir=/var/lib
> --docdir=/usr/share/doc/php-5.6.38 --htmldir=/usr/share/doc/php-5.6.38/html
> --prefix=/usr/lib64/php5.6 --mandir=/usr/lib64/php5.6/man
> --infodir=/usr/lib64/php5.6/info --libdir=/usr/lib64/php5.6/lib
> --with-libdir=lib64 --localstatedir=/var --without-pear
> --enable-maintainer-zts --disable-bcmath --without-bz2 --disable-calendar
> --disable-gcov --disable-ctype --without-curl --disable-dom
> --without-enchant --disable-exif --disable-fileinfo --disable-filter
> --disable-ftp --without-gettext --without-gmp --enable-hash --without-mhash
> --without-iconv --disable-intl --disable-ipv6 --disable-json
> --without-kerberos --disable-libxml --without-libxml-dir --disable-mbstring
> --without-mcrypt --without-mssql --without-onig --without-openssl
> --without-openssl-dir --disable-pcntl --disable-phar --disable-pdo
> --enable-opcache --without-pgsql --disable-posix --without-pspell
> --without-recode --disable-simplexml --disable-shmop --without-snmp
> --disable-soap --disable-sockets --without-sqlite3 --without-sybase-ct
> --disable-sysvmsg --disable-sysvsem --disable-sysvshm --without-tidy
> --disable-tokenizer --disable-wddx --disable-xml --disable-xmlreader
> --disable-xmlwriter --without-xmlrpc --without-xsl --disable-zip
> --without-zlib --disable-debug --without-cdb --without-db4
> --disable-flatfile --without-gdbm --disable-inifile --without-qdbm
> --without-freetype-dir --without-t1lib --disable-gd-jis-conv
> --without-jpeg-dir --without-png-dir --without-xpm-dir --without-vpx-dir
> --without-gd --without-interbase --without-mysql --with-mysqli=mysqlnd
> --without-mysql-sock --without-unixODBC --without-iodbc --without-oci8
> --with-readline=/usr --without-libedit --disable-session --with-pic
> --with-pcre-regex=/usr --with-pcre-dir=/usr
> --cache-file=/dev/shm/portage/dev-lang/php-5.6.38/temp/config.cache
> --with-config-file-path=/etc/php/embed-php5.6
> --with-config-file-scan-dir=/etc/php/embed-php5.6/ext-active --enable-embed
> --disable-cli --disable-cgi --disable-fpm --without-apxs2
> build_alias=x86_64-pc-linux-gnu host_alias=x86_64-pc-linux-gnu
> CFLAGS=-Ofast -march=native -pipe LDFLAGS=-Wl,-O1 -Wl,--as-needed CPPFLAGS=
> CXXFLAGS=-Ofast -march=native -pipe
>
>
> Среди опций можно заметить --enable-embed.
>
> --
> Валентин Бартене
> ___
> nginx-ru mailing list
> nginx-ru@nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-ru



-- 
Best regards,
Anton Kiryushkin
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

unitd + php5.6

2019-04-23 Пенетрантность Anton Kiryushkin
Здравствуйте.

Пытаюсь собрать модуль для unitd для запуска php5.6 (на сервере есть и 7-й,
но в данном случае нужен именно 5-й).

Сам php5.6 есть, у него есть php-config5.6, однако unitd при сборке упорно
утверждает, что у него что-то не так:

# ./configure php --module=php5.6 --config=/usr/bin/php-config5.6
--lib-path=/usr/lib/apache2/modules
configuring PHP module
checking for PHP ... found
 + PHP SAPI: [apache2handler cgi cli fpm]
checking for PHP embed SAPI ... not found

./configure: error: no PHP embed SAPI found.


Как бы точно понять, что не так? Файлы-то есть.

-- 
Best regards,
Anton Kiryushkin
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: Статическая сборка nginx с GD

2019-04-07 Пенетрантность Anton Kiryushkin
Я взял код из лога и попробовал его собрать ровно так, как написано.
Строка моего configure следующая:
./configure --prefix=/usr --conf-path=/etc/nginx/nginx.conf
--error-log-path=/var/log/nginx/error.log
--http-client-body-temp-path=/var/lib/nginx/body
--http-fastcgi-temp-path=/var/lib/nginx/fastcgi
--http-log-path=/var/log/nginx/access.log
--http-proxy-temp-path=/var/lib/nginx/proxy
--http-scgi-temp-path=/var/lib/nginx/scgi
--http-uwsgi-temp-path=/var/lib/nginx/uwsgi
--lock-path=/var/lock/nginx.lock --pid-path=/var/run/nginx.pid --with-debug
--with-http_addition_module --with-http_dav_module --with-http_geoip_module
--with-http_gzip_static_module  --with-http_realip_module
--with-http_stub_status_module --with-http_ssl_module
--with-http_sub_module --with-sha1=/usr/include/openssl
--with-md5=/usr/include/openssl --add-module=/usr/src/naxsi/naxsi_src
--with-debug --with-http_v2_module --with-cc-opt="-static -static-libgcc"
--with-ld-opt="-static -lm" --with-cpu-opt=generic
--with-openssl=./openssl-1.0.2r --with-stream --with-stream_ssl_module
--user=www-data --with-http_image_filter_module

Что-то тут уже устаревшее, но это не очень важно.
Выпадает ошибка:
checking for GD library ... not found
checking for GD library in /usr/local/ ... not found
checking for GD library in /usr/pkg/ ... not found
checking for GD library in /opt/local/ ... not found

Окей. Берем код автотеста:

#include 
#include 
#include 

int main(void) {
gdImagePtr img = gdImageCreateFromGifPtr(1, NULL);
  (void) img;
return 0;
}

Собираем:
cc -static -static-libgcc -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -I
/usr/pkg/include -o objs/autotest objs/autotest.c -static -lm
-L/usr/pkg/lib -lgd (строчка из того же лога).
Не собирается.
Однако, если подвинуть -lm в конец:
cc -static -static-libgcc -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -I
/usr/pkg/include -o objs/autotest objs/autotest.c -static -L/usr/pkg/lib
-lgd -lm

Все соберется.

Вопрос, как передвинуть на уровне сборки?


вс, 7 апр. 2019 г. в 12:34, Anton Kiryushkin :

> Да, конечно, есть:
>
> # find /usr -type f -name 'libm.a'
> /usr/lib/x86_64-linux-gnu/libm.a
>
> Да, я попробовал поставить -lm перед -static, это мне тоже не помогло.
> К слову, libgd тоже там есть:
> # find /usr -type f -name 'libgd.a'
> /usr/lib/x86_64-linux-gnu/libgd.a
>
> Подскажите, пожалуйста, где эти тесты лежат в исходнике, поправлю
> локально, как обычно это делаю с php.
>
> сб, 6 апр. 2019 г. в 19:22, Igor Sysoev :
>
>> А статическая libm.a есть?
>> Можно попробовать поставить -lm до -static:
>>
>> --with-ld-opt="-lm -static ...
>>
>> --
>> Igor Sysoev
>> http://nginx.com
>>
>> > On 6 Apr 2019, at 14:57, Anton Kiryushkin  wrote:
>> >
>> > Ситуация очень напоминает предыдущую:
>> >
>> > cc -static -static-libgcc -lm -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -I
>> /usr/pkg/include -o objs/autotest objs/autotest.c -static -lm
>> -L/usr/pkg/lib -lgd
>> > --
>> >
>> > 
>> > checking for GD library in /opt/local/
>> >
>> > /opt/local/lib/libgd.a(gd.o): In function `lsqrt':
>> > /usr/src/libgd/src/gd.c:1722: undefined reference to `sqrt'
>> > /opt/local/lib/libgd.a(gd.o): In function `gdImageDashedLine':
>> > /usr/src/libgd/src/gd.c:1471: undefined reference to `atan2'
>> > /usr/src/libgd/src/gd.c:1471: undefined reference to `sin'
>> > /usr/src/libgd/src/gd.c:1520: undefined reference to `atan2'
>> > /usr/src/libgd/src/gd.c:1520: undefined reference to `sin'
>> > /opt/local/lib/libgd.a(gd.o): In function `gdImageAALine':
>> > /usr/src/libgd/src/gd.c:3514: undefined reference to `atan2'
>> > /usr/src/libgd/src/gd.c:3514: undefined reference to `cos'
>> > /opt/local/lib/libgd.a(gd.o): In function `gdImageLine':
>> > /usr/src/libgd/src/gd.c:1394: undefined reference to `atan2'
>> > /usr/src/libgd/src/gd.c:1394: undefined reference to `sin'
>> > /usr/src/libgd/src/gd.c:1333: undefined reference to `atan2'
>> > /usr/src/libgd/src/gd.c:1333: undefined reference to `cos'
>> > /opt/local/lib/libgd.a(gd.o): In function `gdImageAALine':
>> > /usr/src/libgd/src/gd.c:3514: undefined reference to `atan2'
>> > /usr/src/libgd/src/gd.c:3514: undefined reference to `sin'
>> > /opt/local/lib/libgd.a(gd.o): In function `gdImageCopyRotated':
>> > /usr/src/libgd/src/gd.c:2792: undefined reference to `sincos'
>> > /usr/src/libgd/src/gd.c:2791: undefined reference to `sqrt'
>> > collect2: error: ld returned 1 exit status
>> > --
>> >
>> > Версия nginx 1.15.10. gcc version 4.8.2.
>> >
>> > сб, 6 апр. 2

Re: Статическая сборка nginx с GD

2019-04-07 Пенетрантность Anton Kiryushkin
Да, конечно, есть:

# find /usr -type f -name 'libm.a'
/usr/lib/x86_64-linux-gnu/libm.a

Да, я попробовал поставить -lm перед -static, это мне тоже не помогло.
К слову, libgd тоже там есть:
# find /usr -type f -name 'libgd.a'
/usr/lib/x86_64-linux-gnu/libgd.a

Подскажите, пожалуйста, где эти тесты лежат в исходнике, поправлю локально,
как обычно это делаю с php.

сб, 6 апр. 2019 г. в 19:22, Igor Sysoev :

> А статическая libm.a есть?
> Можно попробовать поставить -lm до -static:
>
> --with-ld-opt="-lm -static ...
>
> --
> Igor Sysoev
> http://nginx.com
>
> > On 6 Apr 2019, at 14:57, Anton Kiryushkin  wrote:
> >
> > Ситуация очень напоминает предыдущую:
> >
> > cc -static -static-libgcc -lm -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -I
> /usr/pkg/include -o objs/autotest objs/autotest.c -static -lm
> -L/usr/pkg/lib -lgd
> > --
> >
> > 
> > checking for GD library in /opt/local/
> >
> > /opt/local/lib/libgd.a(gd.o): In function `lsqrt':
> > /usr/src/libgd/src/gd.c:1722: undefined reference to `sqrt'
> > /opt/local/lib/libgd.a(gd.o): In function `gdImageDashedLine':
> > /usr/src/libgd/src/gd.c:1471: undefined reference to `atan2'
> > /usr/src/libgd/src/gd.c:1471: undefined reference to `sin'
> > /usr/src/libgd/src/gd.c:1520: undefined reference to `atan2'
> > /usr/src/libgd/src/gd.c:1520: undefined reference to `sin'
> > /opt/local/lib/libgd.a(gd.o): In function `gdImageAALine':
> > /usr/src/libgd/src/gd.c:3514: undefined reference to `atan2'
> > /usr/src/libgd/src/gd.c:3514: undefined reference to `cos'
> > /opt/local/lib/libgd.a(gd.o): In function `gdImageLine':
> > /usr/src/libgd/src/gd.c:1394: undefined reference to `atan2'
> > /usr/src/libgd/src/gd.c:1394: undefined reference to `sin'
> > /usr/src/libgd/src/gd.c:1333: undefined reference to `atan2'
> > /usr/src/libgd/src/gd.c:1333: undefined reference to `cos'
> > /opt/local/lib/libgd.a(gd.o): In function `gdImageAALine':
> > /usr/src/libgd/src/gd.c:3514: undefined reference to `atan2'
> > /usr/src/libgd/src/gd.c:3514: undefined reference to `sin'
> > /opt/local/lib/libgd.a(gd.o): In function `gdImageCopyRotated':
> > /usr/src/libgd/src/gd.c:2792: undefined reference to `sincos'
> > /usr/src/libgd/src/gd.c:2791: undefined reference to `sqrt'
> > collect2: error: ld returned 1 exit status
> > --
> >
> > Версия nginx 1.15.10. gcc version 4.8.2.
> >
> > сб, 6 апр. 2019 г. в 12:14, Igor Sysoev :
> > А что в autoconf.err ?
> >
> > --
> > Igor Sysoev
> > http://nginx.com
> >
> > > On 6 Apr 2019, at 14:07, Anton Kiryushkin  wrote:
> > >
> > > Добавил и не помогло.
> > >
> > > сб, 6 апр. 2019 г. в 11:06, Igor Sysoev :
> > > > On 6 Apr 2019, at 12:54, Anton Kiryushkin  wrote:
> > > >
> > > > Здравствуйте.
> > > >
> > > > Подскажите, пожалуйста, почему nginx в данном случае никак не может
> собраться статически с libgd:
> > > >
> > > > --
> > > > cc -static -static-libgcc -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -I
> /usr/pkg/include -o objs/autotest objs/autotest.c -static -L/usr/pkg/lib
> -lgd
> > > > --
> > > >
> > > > 
> > > > checking for GD library in /opt/local/
> > > >
> > > > /opt/local/lib/libgd.a(gd.o): In function `lsqrt':
> > > > /usr/src/libgd/src/gd.c:1722: undefined reference to `sqrt'
> > > > /opt/local/lib/libgd.a(gd.o): In function `gdImageDashedLine':
> > > > /usr/src/libgd/src/gd.c:1471: undefined reference to `atan2'
> > > > /usr/src/libgd/src/gd.c:1471: undefined reference to `sin'
> > > > /usr/src/libgd/src/gd.c:1520: undefined reference to `atan2'
> > > > /usr/src/libgd/src/gd.c:1520: undefined reference to `sin'
> > > > /opt/local/lib/libgd.a(gd.o): In function `gdImageAALine':
> > > > /usr/src/libgd/src/gd.c:3514: undefined reference to `atan2'
> > > > /usr/src/libgd/src/gd.c:3514: undefined reference to `cos'
> > > > /opt/local/lib/libgd.a(gd.o): In function `gdImageLine':
> > > > /usr/src/libgd/src/gd.c:1394: undefined reference to `atan2'
> > > > /usr/src/libgd/src/gd.c:1394: undefined reference to `sin'
> > > > /usr/src/libgd/src/gd.c:1333: undefined reference to `atan2'
> > > > /usr/src/libgd/src/gd.c:1333: undefined reference to `cos'
> > > > /opt/local/lib/libgd.a(gd.o): In function `gdImageAALine':
> > > > /usr/src/l

nginx: [emerg] getpwnam("www-data") failed

2019-04-06 Пенетрантность Anton Kiryushkin
При обновлении на 1.15.10 поймал такую картину. В конфиге полжизни было
написано:
user www-data;

Пользователь есть, группа есть. Все ищется по /etc/passwd и /etc/group. Что
поменялось в nginx?

-- 
Best regards,
Anton Kiryushkin
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: Статическая сборка nginx с GD

2019-04-06 Пенетрантность Anton Kiryushkin
Ситуация очень напоминает предыдущую:

cc -static -static-libgcc -lm -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -I
/usr/pkg/include -o objs/autotest objs/autotest.c -static -lm
-L/usr/pkg/lib -lgd
--


checking for GD library in /opt/local/

/opt/local/lib/libgd.a(gd.o): In function `lsqrt':
/usr/src/libgd/src/gd.c:1722: undefined reference to `sqrt'
/opt/local/lib/libgd.a(gd.o): In function `gdImageDashedLine':
/usr/src/libgd/src/gd.c:1471: undefined reference to `atan2'
/usr/src/libgd/src/gd.c:1471: undefined reference to `sin'
/usr/src/libgd/src/gd.c:1520: undefined reference to `atan2'
/usr/src/libgd/src/gd.c:1520: undefined reference to `sin'
/opt/local/lib/libgd.a(gd.o): In function `gdImageAALine':
/usr/src/libgd/src/gd.c:3514: undefined reference to `atan2'
/usr/src/libgd/src/gd.c:3514: undefined reference to `cos'
/opt/local/lib/libgd.a(gd.o): In function `gdImageLine':
/usr/src/libgd/src/gd.c:1394: undefined reference to `atan2'
/usr/src/libgd/src/gd.c:1394: undefined reference to `sin'
/usr/src/libgd/src/gd.c:1333: undefined reference to `atan2'
/usr/src/libgd/src/gd.c:1333: undefined reference to `cos'
/opt/local/lib/libgd.a(gd.o): In function `gdImageAALine':
/usr/src/libgd/src/gd.c:3514: undefined reference to `atan2'
/usr/src/libgd/src/gd.c:3514: undefined reference to `sin'
/opt/local/lib/libgd.a(gd.o): In function `gdImageCopyRotated':
/usr/src/libgd/src/gd.c:2792: undefined reference to `sincos'
/usr/src/libgd/src/gd.c:2791: undefined reference to `sqrt'
collect2: error: ld returned 1 exit status
--

Версия nginx 1.15.10. gcc version 4.8.2.

сб, 6 апр. 2019 г. в 12:14, Igor Sysoev :

> А что в autoconf.err ?
>
> --
> Igor Sysoev
> http://nginx.com
>
> > On 6 Apr 2019, at 14:07, Anton Kiryushkin  wrote:
> >
> > Добавил и не помогло.
> >
> > сб, 6 апр. 2019 г. в 11:06, Igor Sysoev :
> > > On 6 Apr 2019, at 12:54, Anton Kiryushkin  wrote:
> > >
> > > Здравствуйте.
> > >
> > > Подскажите, пожалуйста, почему nginx в данном случае никак не может
> собраться статически с libgd:
> > >
> > > --
> > > cc -static -static-libgcc -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -I
> /usr/pkg/include -o objs/autotest objs/autotest.c -static -L/usr/pkg/lib
> -lgd
> > > --
> > >
> > > 
> > > checking for GD library in /opt/local/
> > >
> > > /opt/local/lib/libgd.a(gd.o): In function `lsqrt':
> > > /usr/src/libgd/src/gd.c:1722: undefined reference to `sqrt'
> > > /opt/local/lib/libgd.a(gd.o): In function `gdImageDashedLine':
> > > /usr/src/libgd/src/gd.c:1471: undefined reference to `atan2'
> > > /usr/src/libgd/src/gd.c:1471: undefined reference to `sin'
> > > /usr/src/libgd/src/gd.c:1520: undefined reference to `atan2'
> > > /usr/src/libgd/src/gd.c:1520: undefined reference to `sin'
> > > /opt/local/lib/libgd.a(gd.o): In function `gdImageAALine':
> > > /usr/src/libgd/src/gd.c:3514: undefined reference to `atan2'
> > > /usr/src/libgd/src/gd.c:3514: undefined reference to `cos'
> > > /opt/local/lib/libgd.a(gd.o): In function `gdImageLine':
> > > /usr/src/libgd/src/gd.c:1394: undefined reference to `atan2'
> > > /usr/src/libgd/src/gd.c:1394: undefined reference to `sin'
> > > /usr/src/libgd/src/gd.c:1333: undefined reference to `atan2'
> > > /usr/src/libgd/src/gd.c:1333: undefined reference to `cos'
> > > /opt/local/lib/libgd.a(gd.o): In function `gdImageAALine':
> > > /usr/src/libgd/src/gd.c:3514: undefined reference to `atan2'
> > > /usr/src/libgd/src/gd.c:3514: undefined reference to `sin'
> > > /opt/local/lib/libgd.a(gd.o): In function `gdImageCopyRotated':
> > > /usr/src/libgd/src/gd.c:2792: undefined reference to `sincos'
> > > /usr/src/libgd/src/gd.c:2791: undefined reference to `sqrt'
> > > collect2: error: ld returned 1 exit status
> > > --
> > >
> > > Сам libgd собран в  /opt/local с флагом static. К сожалению, мне
> действительно нужна статическая сборка. Остается страдать и все же так не
> делать или есть способ что-то тут сделать?
> >
> > Нужно добавить "-lm" в --with-ld-opt
> >
> >
> > --
> > Igor Sysoev
> > http://nginx.com
> > ___
> > nginx-ru mailing list
> > nginx-ru@nginx.org
> > http://mailman.nginx.org/mailman/listinfo/nginx-ru
> >
> >
> > --
> > Best regards,
> > Anton Kiryushkin
> >
> > ___
> > 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



-- 
Best regards,
Anton Kiryushkin
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: Статическая сборка nginx с GD

2019-04-06 Пенетрантность Anton Kiryushkin
Добавил и не помогло.

сб, 6 апр. 2019 г. в 11:06, Igor Sysoev :

> > On 6 Apr 2019, at 12:54, Anton Kiryushkin  wrote:
> >
> > Здравствуйте.
> >
> > Подскажите, пожалуйста, почему nginx в данном случае никак не может
> собраться статически с libgd:
> >
> > --
> > cc -static -static-libgcc -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -I
> /usr/pkg/include -o objs/autotest objs/autotest.c -static -L/usr/pkg/lib
> -lgd
> > --
> >
> > 
> > checking for GD library in /opt/local/
> >
> > /opt/local/lib/libgd.a(gd.o): In function `lsqrt':
> > /usr/src/libgd/src/gd.c:1722: undefined reference to `sqrt'
> > /opt/local/lib/libgd.a(gd.o): In function `gdImageDashedLine':
> > /usr/src/libgd/src/gd.c:1471: undefined reference to `atan2'
> > /usr/src/libgd/src/gd.c:1471: undefined reference to `sin'
> > /usr/src/libgd/src/gd.c:1520: undefined reference to `atan2'
> > /usr/src/libgd/src/gd.c:1520: undefined reference to `sin'
> > /opt/local/lib/libgd.a(gd.o): In function `gdImageAALine':
> > /usr/src/libgd/src/gd.c:3514: undefined reference to `atan2'
> > /usr/src/libgd/src/gd.c:3514: undefined reference to `cos'
> > /opt/local/lib/libgd.a(gd.o): In function `gdImageLine':
> > /usr/src/libgd/src/gd.c:1394: undefined reference to `atan2'
> > /usr/src/libgd/src/gd.c:1394: undefined reference to `sin'
> > /usr/src/libgd/src/gd.c:1333: undefined reference to `atan2'
> > /usr/src/libgd/src/gd.c:1333: undefined reference to `cos'
> > /opt/local/lib/libgd.a(gd.o): In function `gdImageAALine':
> > /usr/src/libgd/src/gd.c:3514: undefined reference to `atan2'
> > /usr/src/libgd/src/gd.c:3514: undefined reference to `sin'
> > /opt/local/lib/libgd.a(gd.o): In function `gdImageCopyRotated':
> > /usr/src/libgd/src/gd.c:2792: undefined reference to `sincos'
> > /usr/src/libgd/src/gd.c:2791: undefined reference to `sqrt'
> > collect2: error: ld returned 1 exit status
> > --
> >
> > Сам libgd собран в  /opt/local с флагом static. К сожалению, мне
> действительно нужна статическая сборка. Остается страдать и все же так не
> делать или есть способ что-то тут сделать?
>
> Нужно добавить "-lm" в --with-ld-opt
>
>
> --
> Igor Sysoev
> http://nginx.com
> ___
> nginx-ru mailing list
> nginx-ru@nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-ru



-- 
Best regards,
Anton Kiryushkin
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Статическая сборка nginx с GD

2019-04-06 Пенетрантность Anton Kiryushkin
Здравствуйте.

Подскажите, пожалуйста, почему nginx в данном случае никак не может
собраться статически с libgd:

--
cc -static -static-libgcc -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -I
/usr/pkg/include -o objs/autotest objs/autotest.c -static -L/usr/pkg/lib
-lgd
--


checking for GD library in /opt/local/

/opt/local/lib/libgd.a(gd.o): In function `lsqrt':
/usr/src/libgd/src/gd.c:1722: undefined reference to `sqrt'
/opt/local/lib/libgd.a(gd.o): In function `gdImageDashedLine':
/usr/src/libgd/src/gd.c:1471: undefined reference to `atan2'
/usr/src/libgd/src/gd.c:1471: undefined reference to `sin'
/usr/src/libgd/src/gd.c:1520: undefined reference to `atan2'
/usr/src/libgd/src/gd.c:1520: undefined reference to `sin'
/opt/local/lib/libgd.a(gd.o): In function `gdImageAALine':
/usr/src/libgd/src/gd.c:3514: undefined reference to `atan2'
/usr/src/libgd/src/gd.c:3514: undefined reference to `cos'
/opt/local/lib/libgd.a(gd.o): In function `gdImageLine':
/usr/src/libgd/src/gd.c:1394: undefined reference to `atan2'
/usr/src/libgd/src/gd.c:1394: undefined reference to `sin'
/usr/src/libgd/src/gd.c:1333: undefined reference to `atan2'
/usr/src/libgd/src/gd.c:1333: undefined reference to `cos'
/opt/local/lib/libgd.a(gd.o): In function `gdImageAALine':
/usr/src/libgd/src/gd.c:3514: undefined reference to `atan2'
/usr/src/libgd/src/gd.c:3514: undefined reference to `sin'
/opt/local/lib/libgd.a(gd.o): In function `gdImageCopyRotated':
/usr/src/libgd/src/gd.c:2792: undefined reference to `sincos'
/usr/src/libgd/src/gd.c:2791: undefined reference to `sqrt'
collect2: error: ld returned 1 exit status
--

Сам libgd собран в  /opt/local с флагом static. К сожалению, мне
действительно нужна статическая сборка. Остается страдать и все же так не
делать или есть способ что-то тут сделать?

-- 
Best regards,
Anton Kiryushkin
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

unit

2019-03-05 Пенетрантность Anton Kiryushkin
Здравствуйте.

Пару дней назад влез таки попробовать этот новый софт. Настроил, то, что
мне нужно было получилось за 10 минут. Но, позвольте вопрос.
Верно ли я понимаю, что концепт заключается в том, чтобы, по сути,
"запустить" один скрипт? То есть, к примеру, на порту 8300 у меня отвечает
php5.6, который запускает скрипт index.php из папки /var/www/blablabla. Я
не могу через порт 8300 разрешить запускать все скрипты из этой папки,
только index.php. У меня правильное мнение сложилось, или я что-то
недочитал и потому пишу немного глупости?

-- 
Best regards,
Anton Kiryushkin
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: Сервер по умолчанию для SSL

2018-02-05 Пенетрантность Anton Kiryushkin
Вы можете сделать самоподписный сертификат для дефолтного хоста и надеяться
на то, что все ваши клиенты умеют в SNI.

5 февраля 2018 г., 10:56 пользователь Anton Kiryushkin <sw...@fotofor.biz>
написал:

> Смотря какую задачу вы решаете.
>
>
> 5 февраля 2018 г., 10:22 пользователь iotch <nginx-fo...@forum.nginx.org>
> написал:
>
> > у вас для ssl'ового listen'а не указано "ssl" в аргументах
>>
>> Да, спасибо, в данном случае это не играет роли, судя по тестам.
>>
>> > Поэтому вы можете использовать там абсолютно любой.
>>
>> Так и делаю, но подумал, есть какое-то стандартное решение для таких
>> случаев.
>>
>> Posted at Nginx Forum: https://forum.nginx.org/read.p
>> hp?21,278349,278353#msg-278353
>>
>> ___
>> nginx-ru mailing list
>> nginx-ru@nginx.org
>> http://mailman.nginx.org/mailman/listinfo/nginx-ru
>>
>
>
>
> --
> Best regards,
> Anton Kiryushkin
>
>


-- 
Best regards,
Anton Kiryushkin
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: Сервер по умолчанию для SSL

2018-02-05 Пенетрантность Anton Kiryushkin
Смотря какую задачу вы решаете.


5 февраля 2018 г., 10:22 пользователь iotch <nginx-fo...@forum.nginx.org>
написал:

> > у вас для ssl'ового listen'а не указано "ssl" в аргументах
>
> Да, спасибо, в данном случае это не играет роли, судя по тестам.
>
> > Поэтому вы можете использовать там абсолютно любой.
>
> Так и делаю, но подумал, есть какое-то стандартное решение для таких
> случаев.
>
> Posted at Nginx Forum: https://forum.nginx.org/read.
> php?21,278349,278353#msg-278353
>
> ___
> nginx-ru mailing list
> nginx-ru@nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-ru
>



-- 
Best regards,
Anton Kiryushkin
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: unit-0.2 beta release

2017-10-20 Пенетрантность Anton Kiryushkin
Простите за мою не понятливость. Но где в unit задается путь до php.ini?
Используется сугубо тот, что был при сборке, или же можно как-то указать
тот, с которым нужно запуститься?

2017-10-20 10:42 GMT+03:00 Igor Sysoev <i...@sysoev.ru>:

> http://unit.nginx.org
>
> Changes with Unit 0.219 Oct
> 2017
>
>*) Feature: Go package improvements.
>
>*) Feature: configuration persistence.
>
>*) Feature: improved handling of configuration errors.
>
>*) Feature: application "timeout" property.
>
>*) Bugfix: Go application crashed under load.
>
>*) Bugfix: POST request for PHP were handled incorrectly.
>
>*) Bugfix: the router exited abnormally if all listeners had been
>   deleted.
>
>*) Bugfix: the router crashed under load.
>
>*) Bugfix: memory leak in the router.
>
>
> --
> Igor Sysoev
> http://nginx.com
>
> ___
> nginx-ru mailing list
> nginx-ru@nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-ru




-- 
Best regards,
Anton Kiryushkin
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Как nginx читает конфиг

2017-04-13 Пенетрантность Anton Kiryushkin
Здравствуйте.

Расскажите, пожалуйста, в чем принципиальная разница в том, как nginx
читает много upstream (например 4 тысячи) и тем, как nginx читает много
location (например, тоже 4 тысячи).

По ощущениям, второе он читает много дольше и тяжелее.

И возможно ли в будущем, делать список подгружаемых location общим для двух
разных серверов (имеется ввиду server_name). Например, если эти два сервера
выполняют разную работу с одними и теми же location.

-- 
Best regards,
Anton Kiryushkin
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: nginx slice module

2017-02-17 Пенетрантность Anton Kiryushkin
Лог бросал в личку Роману, там нет ничего выдающегося, поэтому в рассылку
его отправлять не буду. При этом, у меня получилось найти решение исходной
проблемы.

Способ из двух действий.
1. Прописал max_ranges 5 на всех серверах бэкенда.
2. Пересобрал nginx с патчем из вот этого треда:
https://forum.nginx.org/read.php?2,225815,225826#msg-225826

После этого ошибки про неверный диапазон из лога ушли.




14 февраля 2017 г., 19:33 пользователь Roman Arutyunyan <a...@nginx.com>
написал:

> Все должно работать.  Можете показать config и/или debug log?
>
> On Tue, Feb 14, 2017 at 07:10:29PM +0300, Anton Kiryushkin wrote:
> > Позвольте еще задать вопрос. Насколько корректно nginx в случае работы с
> > slice-модулем будет обрабатывать запрос с заголовком:
> >
> > Range: bytes=3744-
> >
> > Замечено интересное свойство. Первый такой запрос не отрабатывает. А
> второй
> > уже может. Схема работы простая nginx + slice -> nginx + mp4 на дисках.
> >
> > 14 февраля 2017 г., 17:59 пользователь Roman Arutyunyan <a...@nginx.com>
> > написал:
> >
> > > Прямых огранчений нет.  Но если слайсы сделать маленькими, то их число
> > > будет
> > > большим и, как следствие, вырастет объем потребляемых одним запросом
> > > ресурсов,
> > > включая число открытых дескрипторов.  Но вы бы увидели соответствующие
> > > ошибки в
> > > логах.
> > >
> > > On Tue, Feb 14, 2017 at 02:52:48PM +, Anton Kiryushkin wrote:
> > > > А есть какие-то ограничения на размер слайса? Стоит ли считать, что
> 200кб
> > > > слишком мало? Файлы в среднем по 5-7мб.
> > > > вт, 14 февр. 2017 г. в 17:29, Roman Arutyunyan <a...@nginx.com>:
> > > >
> > > > > Для начала надо понять, что было запрошено и что реально пришло.
> > > > > Тот диапазон, который указан в тексте ошибки - это то, что пришло.
> > > > > Учитывая ваш размер слайса и, возможно, глядя в логи, выясните, что
> > > именно
> > > > > запрашивалось.  Надо будет понять, почему одно не совпадает с
> другим.
> > > > >
> > > > > On Tue, Feb 14, 2017 at 05:10:31PM +0300, Anton Kiryushkin wrote:
> > > > > > Здравствуйте, Роман.
> > > > > >
> > > > > > А как это можно дебажить? Что тут можно сделать? На бэкенда в
> целом
> > > > > просто
> > > > > > nginx, который выдает файлы с диска. То есть нет каких-то
> уникальных
> > > > > вещей.
> > > > > >
> > > > > > 14 февраля 2017 г., 16:09 пользователь Roman Arutyunyan <
> > > a...@nginx.com>
> > > > > > написал:
> > > > > >
> > > > > > > Добрый день Антон,
> > > > > > >
> > > > > > > On Tue, Feb 14, 2017 at 03:57:19PM +0300, Anton Kiryushkin
> wrote:
> > > > > > > > Здравствуйте.
> > > > > > > >
> > > > > > > > Пытаемся использовать указанный в теме модуль и довольно
> часто в
> > > логе
> > > > > > > видно
> > > > > > > > ошибки вида:
> > > > > > > >
> > > > > > > > unexpected range in slice response: 1622016-1630208 while
> reading
> > > > > > > response
> > > > > > > > header from upstream
> > > > > > > >
> > > > > > > > Не подскажете как точно поймать причину? Это какой-то
> странный
> > > запрос
> > > > > > > > прилетает, или что-то не получается у бэкенда сообразить с
> > > > > заголовками?
> > > > > > >
> > > > > > > Это означает, что с бекенда по какой-то причине пришел не тот
> > > range,
> > > > > > > который
> > > > > > > был запрошен.
> > > > > > >
> > > > > > > --
> > > > > > > Roman Arutyunyan
> > > > > > > ___
> > > > > > > nginx-ru mailing list
> > > > > > > nginx-ru@nginx.org
> > > > > > > http://mailman.nginx.org/mailman/listinfo/nginx-ru
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > > --
> > > > > > Best regards,
> > > > > > Anton Kiryushkin
> > > > >
> > > > > > 

Re: nginx slice module

2017-02-14 Пенетрантность Anton Kiryushkin
Позвольте еще задать вопрос. Насколько корректно nginx в случае работы с
slice-модулем будет обрабатывать запрос с заголовком:

Range: bytes=3744-

Замечено интересное свойство. Первый такой запрос не отрабатывает. А второй
уже может. Схема работы простая nginx + slice -> nginx + mp4 на дисках.

14 февраля 2017 г., 17:59 пользователь Roman Arutyunyan <a...@nginx.com>
написал:

> Прямых огранчений нет.  Но если слайсы сделать маленькими, то их число
> будет
> большим и, как следствие, вырастет объем потребляемых одним запросом
> ресурсов,
> включая число открытых дескрипторов.  Но вы бы увидели соответствующие
> ошибки в
> логах.
>
> On Tue, Feb 14, 2017 at 02:52:48PM +, Anton Kiryushkin wrote:
> > А есть какие-то ограничения на размер слайса? Стоит ли считать, что 200кб
> > слишком мало? Файлы в среднем по 5-7мб.
> > вт, 14 февр. 2017 г. в 17:29, Roman Arutyunyan <a...@nginx.com>:
> >
> > > Для начала надо понять, что было запрошено и что реально пришло.
> > > Тот диапазон, который указан в тексте ошибки - это то, что пришло.
> > > Учитывая ваш размер слайса и, возможно, глядя в логи, выясните, что
> именно
> > > запрашивалось.  Надо будет понять, почему одно не совпадает с другим.
> > >
> > > On Tue, Feb 14, 2017 at 05:10:31PM +0300, Anton Kiryushkin wrote:
> > > > Здравствуйте, Роман.
> > > >
> > > > А как это можно дебажить? Что тут можно сделать? На бэкенда в целом
> > > просто
> > > > nginx, который выдает файлы с диска. То есть нет каких-то уникальных
> > > вещей.
> > > >
> > > > 14 февраля 2017 г., 16:09 пользователь Roman Arutyunyan <
> a...@nginx.com>
> > > > написал:
> > > >
> > > > > Добрый день Антон,
> > > > >
> > > > > On Tue, Feb 14, 2017 at 03:57:19PM +0300, Anton Kiryushkin wrote:
> > > > > > Здравствуйте.
> > > > > >
> > > > > > Пытаемся использовать указанный в теме модуль и довольно часто в
> логе
> > > > > видно
> > > > > > ошибки вида:
> > > > > >
> > > > > > unexpected range in slice response: 1622016-1630208 while reading
> > > > > response
> > > > > > header from upstream
> > > > > >
> > > > > > Не подскажете как точно поймать причину? Это какой-то странный
> запрос
> > > > > > прилетает, или что-то не получается у бэкенда сообразить с
> > > заголовками?
> > > > >
> > > > > Это означает, что с бекенда по какой-то причине пришел не тот
> range,
> > > > > который
> > > > > был запрошен.
> > > > >
> > > > > --
> > > > > Roman Arutyunyan
> > > > > ___
> > > > > nginx-ru mailing list
> > > > > nginx-ru@nginx.org
> > > > > http://mailman.nginx.org/mailman/listinfo/nginx-ru
> > > >
> > > >
> > > >
> > > >
> > > > --
> > > > Best regards,
> > > > Anton Kiryushkin
> > >
> > > > ___
> > > > nginx-ru mailing list
> > > > nginx-ru@nginx.org
> > > > http://mailman.nginx.org/mailman/listinfo/nginx-ru
> > >
> > >
> > > --
> > > Roman Arutyunyan
> > > ___
> > > 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
>
>
> --
> Roman Arutyunyan
> ___
> nginx-ru mailing list
> nginx-ru@nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-ru
>



-- 
Best regards,
Anton Kiryushkin
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: nginx slice module

2017-02-14 Пенетрантность Anton Kiryushkin
А есть какие-то ограничения на размер слайса? Стоит ли считать, что 200кб
слишком мало? Файлы в среднем по 5-7мб.
вт, 14 февр. 2017 г. в 17:29, Roman Arutyunyan <a...@nginx.com>:

> Для начала надо понять, что было запрошено и что реально пришло.
> Тот диапазон, который указан в тексте ошибки - это то, что пришло.
> Учитывая ваш размер слайса и, возможно, глядя в логи, выясните, что именно
> запрашивалось.  Надо будет понять, почему одно не совпадает с другим.
>
> On Tue, Feb 14, 2017 at 05:10:31PM +0300, Anton Kiryushkin wrote:
> > Здравствуйте, Роман.
> >
> > А как это можно дебажить? Что тут можно сделать? На бэкенда в целом
> просто
> > nginx, который выдает файлы с диска. То есть нет каких-то уникальных
> вещей.
> >
> > 14 февраля 2017 г., 16:09 пользователь Roman Arutyunyan <a...@nginx.com>
> > написал:
> >
> > > Добрый день Антон,
> > >
> > > On Tue, Feb 14, 2017 at 03:57:19PM +0300, Anton Kiryushkin wrote:
> > > > Здравствуйте.
> > > >
> > > > Пытаемся использовать указанный в теме модуль и довольно часто в логе
> > > видно
> > > > ошибки вида:
> > > >
> > > > unexpected range in slice response: 1622016-1630208 while reading
> > > response
> > > > header from upstream
> > > >
> > > > Не подскажете как точно поймать причину? Это какой-то странный запрос
> > > > прилетает, или что-то не получается у бэкенда сообразить с
> заголовками?
> > >
> > > Это означает, что с бекенда по какой-то причине пришел не тот range,
> > > который
> > > был запрошен.
> > >
> > > --
> > > Roman Arutyunyan
> > > ___
> > > nginx-ru mailing list
> > > nginx-ru@nginx.org
> > > http://mailman.nginx.org/mailman/listinfo/nginx-ru
> >
> >
> >
> >
> > --
> > Best regards,
> > Anton Kiryushkin
>
> > ___
> > nginx-ru mailing list
> > nginx-ru@nginx.org
> > http://mailman.nginx.org/mailman/listinfo/nginx-ru
>
>
> --
> Roman Arutyunyan
> ___
> 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: nginx slice module

2017-02-14 Пенетрантность Anton Kiryushkin
Здравствуйте, Роман.

А как это можно дебажить? Что тут можно сделать? На бэкенда в целом просто
nginx, который выдает файлы с диска. То есть нет каких-то уникальных вещей.

14 февраля 2017 г., 16:09 пользователь Roman Arutyunyan <a...@nginx.com>
написал:

> Добрый день Антон,
>
> On Tue, Feb 14, 2017 at 03:57:19PM +0300, Anton Kiryushkin wrote:
> > Здравствуйте.
> >
> > Пытаемся использовать указанный в теме модуль и довольно часто в логе
> видно
> > ошибки вида:
> >
> > unexpected range in slice response: 1622016-1630208 while reading
> response
> > header from upstream
> >
> > Не подскажете как точно поймать причину? Это какой-то странный запрос
> > прилетает, или что-то не получается у бэкенда сообразить с заголовками?
>
> Это означает, что с бекенда по какой-то причине пришел не тот range,
> который
> был запрошен.
>
> --
> Roman Arutyunyan
> ___
> nginx-ru mailing list
> nginx-ru@nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-ru




-- 
Best regards,
Anton Kiryushkin
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

nginx slice module

2017-02-14 Пенетрантность Anton Kiryushkin
Здравствуйте.

Пытаемся использовать указанный в теме модуль и довольно часто в логе видно
ошибки вида:

unexpected range in slice response: 1622016-1630208 while reading response
header from upstream

Не подскажете как точно поймать причину? Это какой-то странный запрос
прилетает, или что-то не получается у бэкенда сообразить с заголовками?

-- 
Best regards,
Anton Kiryushkin
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: ignore long locked inactive cache entry

2017-01-16 Пенетрантность Anton Kiryushkin
Нет, не падают. По крайней мере о падении должно сообщаться в лог.
Сообщений не было. Не было и ООМ-killer. Да, если стрельнуть в воркера
сигналом, то файлы отпускаются и удаляются cache-manager. Но вместе с этим
воркером мы теряем и запросы, которые этот воркер обрабатывал, а это уже
обидно.

16 января 2017 г., 19:53 пользователь liveder <nginx-fo...@forum.nginx.org>
написал:

> Есть предположение, что у вас падают воркеры. А кеш менеджер думает, что
> файл еще занят им.
> Плюс, мы не можем зарепродюсить данную проблему на el7. Хотя на el6 без
> проблем - достаточно лишь kill -9 воркера
>
> Posted at Nginx Forum: https://forum.nginx.org/read.
> php?21,271068,272018#msg-272018
>
> ___
> nginx-ru mailing list
> nginx-ru@nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-ru
>



-- 
Best regards,
Anton Kiryushkin
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: ignore long locked inactive cache entry

2017-01-16 Пенетрантность Anton Kiryushkin
А как узнать, что ответ от бэкенда медленный? По моим наблюдениям, объект в
кэше мог пролежать несколько дней. При этом сам бэкенд могли перезагрузить
по несколько раз за это время. Объект как был в кэше и был занят nginx, так
и продолжал это делать. На мой взгляд это как раз баг, который был
исправлен, а не какое-то странное поведение какого-то бэкенда, на которое с
определенной версии nginx перестал обращать внимание.

2017-01-16 17:46 GMT+03:00 liveder <nginx-fo...@forum.nginx.org>:

> Спасибо! Попробуем!
>
> Posted at Nginx Forum: https://forum.nginx.org/read.
> php?21,271068,272013#msg-272013
>
> ___
> nginx-ru mailing list
> nginx-ru@nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-ru
>



-- 
Best regards,
Anton Kiryushkin
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: ignore long locked inactive cache entry

2017-01-16 Пенетрантность Anton Kiryushkin
Максим, я вас расстрою. В моем случае речь не может идти о websocket, так
как их нет как технологии в проекте. Я не могу дать абсолютно все
подробности. Но смысл кэширования в том, чтобы сохранять ответы, которые
генерируются бэкендом. Исключительно http/1.0. Даже не 1.1.
пн, 16 янв. 2017 г. в 16:16, Maxim Dounin <mdou...@mdounin.ru>:

> Hello!
>
> On Mon, Jan 16, 2017 at 11:07:38AM +, Anton Kiryushkin wrote:
>
> > Спасает обновление минимум до 1.11.6. Жаль, что разработчики это никак не
> > комментировали.
>
> Если спасает - значит проблема была в том, что вы со включённым
> кешированием пытались проксировать WebSocket'ы.  Смысла в этом нет -
> кешировать WebSocket'ы невозможно.  Но соответствующий элемент
> кеша оказывался заблокирован на всё время WebSocket-соединения,
> что могло приводить к алертам в логах, а также блокировать очистку
> кеша по max_size.
>
> Workaround - не включать кеширование там, где включено
> проксирование WebSocket'ов.  Ну или периодически закрывать
> WebSocket-соединения.
>
> --
> Maxim Dounin
> http://nginx.org/
> ___
> 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: ignore long locked inactive cache entry

2017-01-16 Пенетрантность Anton Kiryushkin
Спасает обновление минимум до 1.11.6. Жаль, что разработчики это никак не
комментировали.
пт, 13 янв. 2017 г. в 13:38, liveder :

> Добрый день, Антон
>
> Решили ли вы в итоге проблему? Если да, то как?
>
> Спасибо
>
> Posted at Nginx Forum:
> https://forum.nginx.org/read.php?21,271068,271981#msg-271981
>
> ___
> 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: ignore long locked inactive cache entry

2016-11-20 Пенетрантность Anton Kiryushkin
Проверил, файл и правда занят процессом nginx. Встает вопрос, а что с этим
делать тогда? Файл никто не запрашивает, его пытаются удалить, а его видели
сам же nginx и удерживает. Файл не удаляется и в итоге раздел забивается в
ноль. Можно ли придумать опцию о принудительном удалении элемента кэша,
если у него он должен вытесниться, но почему-то его держит сам nginx? Ведь
по сути, если этот элемент кому-то понадобится и он станет снова
популярным, то он снова будет записан в место для кэширования и нет смысла
его удерживать и блокировать удаление.  Может ли тут играть злую шутку
http2? А keepalive ?

20 ноября 2016 г., 19:09 пользователь Anton Kiryushkin <sw...@fotofor.biz>
написал:

> Здраствуйте.
>
> Имеем nginx 1.11.1 с конфигом для кэширования:
>
> proxy_cache_path /path/to/cache/folder levels=1:2 keys_zone=two:128m
> max_size=120g inactive=120m loader_sleep=5ms;
> proxy_temp_path /path/to/temp/folder 1 2;
> proxy_ignore_headers Expires Cache-Control;
> proxy_cache_min_uses 2;
> proxy_cache_valid 200 302 7d;
> proxy_cache_key $uri;
> proxy_force_ranges on;
>
>
> Примерно через 4 часа после перезапуска в логе начинают появляться
> сообщения типа:
>
> ignore long locked inactive cache entry e4717ba34b1d9f128e974fb692755202,
> count:1
>
> После чего свободного места в разделе не остается совсем. Если
> перезапустить процесс, то nginx успешно удалит все лишнее и свободное место
> появится снова.
>
> Не подскажете, что с этим можно сделать?
>
> Каких-то дополнительных модулей для кэширования нет.
>
> --
> Best regards,
> Anton Kiryushkin
>
>


-- 
Best regards,
Anton Kiryushkin
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

ignore long locked inactive cache entry

2016-11-20 Пенетрантность Anton Kiryushkin
Здраствуйте.

Имеем nginx 1.11.1 с конфигом для кэширования:

proxy_cache_path /path/to/cache/folder levels=1:2 keys_zone=two:128m
max_size=120g inactive=120m loader_sleep=5ms;
proxy_temp_path /path/to/temp/folder 1 2;
proxy_ignore_headers Expires Cache-Control;
proxy_cache_min_uses 2;
proxy_cache_valid 200 302 7d;
proxy_cache_key $uri;
proxy_force_ranges on;


Примерно через 4 часа после перезапуска в логе начинают появляться
сообщения типа:

ignore long locked inactive cache entry e4717ba34b1d9f128e974fb692755202,
count:1

После чего свободного места в разделе не остается совсем. Если
перезапустить процесс, то nginx успешно удалит все лишнее и свободное место
появится снова.

Не подскажете, что с этим можно сделать?

Каких-то дополнительных модулей для кэширования нет.

-- 
Best regards,
Anton Kiryushkin
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: SIGSEGV

2016-11-17 Пенетрантность Anton Kiryushkin
Да, в segmentation fault.

17 ноября 2016 г., 15:36 пользователь Boris Epstein <borepst...@gmail.com>
написал:

> Это занятно. А не в дебаггере, напрямую, он тоже падает?
>
> 2016-11-17 7:24 GMT-05:00 Anton Kiryushkin <sw...@fotofor.biz>:
>
>> Простите, забыл уточнить, что версия 1.11.1, а версия ядра linux 4.8.0-1.
>>
>> 2016-11-17 15:23 GMT+03:00 Anton Kiryushkin <sw...@fotofor.biz>:
>>
>>> Здравствуйте.
>>>
>>> Не подскажете, почему может вот так падать nginx:
>>>
>>> # gdb nginx
>>>
>>> Starting program: /usr/sbin/nginx -t
>>>
>>>
>>> Program received signal SIGSEGV, Segmentation fault.
>>>
>>> 0xff60 in ?? ()
>>>
>>> (gdb) bt
>>>
>>> #0  0xff60 in ?? ()
>>>
>>> #1  0x00709e5d in gettimeofday ()
>>>
>>> #2  0x0040e315 in ngx_time_update () at src/core/ngx_times.c:91
>>>
>>> #3  0x0040e7ba in ngx_time_init () at src/core/ngx_times.c:73
>>>
>>> #4  0x004016e3 in main (argc=2, argv=0x7fffec78) at
>>> src/core/nginx.c:216
>>>
>>> --
>>> Best regards,
>>> Anton Kiryushkin
>>>
>>>
>>
>>
>> --
>> Best regards,
>> Anton Kiryushkin
>>
>>
>> ___
>> 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
>



-- 
Best regards,
Anton Kiryushkin
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: SIGSEGV

2016-11-17 Пенетрантность Anton Kiryushkin
Простите, забыл уточнить, что версия 1.11.1, а версия ядра linux 4.8.0-1.

2016-11-17 15:23 GMT+03:00 Anton Kiryushkin <sw...@fotofor.biz>:

> Здравствуйте.
>
> Не подскажете, почему может вот так падать nginx:
>
> # gdb nginx
>
> Starting program: /usr/sbin/nginx -t
>
>
> Program received signal SIGSEGV, Segmentation fault.
>
> 0xff60 in ?? ()
>
> (gdb) bt
>
> #0  0xff60 in ?? ()
>
> #1  0x00709e5d in gettimeofday ()
>
> #2  0x0040e315 in ngx_time_update () at src/core/ngx_times.c:91
>
> #3  0x0040e7ba in ngx_time_init () at src/core/ngx_times.c:73
>
> #4  0x004016e3 in main (argc=2, argv=0x7fffec78) at
> src/core/nginx.c:216
>
> --
> Best regards,
> Anton Kiryushkin
>
>


-- 
Best regards,
Anton Kiryushkin
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

SIGSEGV

2016-11-17 Пенетрантность Anton Kiryushkin
Здравствуйте.

Не подскажете, почему может вот так падать nginx:

# gdb nginx

Starting program: /usr/sbin/nginx -t


Program received signal SIGSEGV, Segmentation fault.

0xff60 in ?? ()

(gdb) bt

#0  0xff60 in ?? ()

#1  0x00709e5d in gettimeofday ()

#2  0x0040e315 in ngx_time_update () at src/core/ngx_times.c:91

#3  0x0040e7ba in ngx_time_init () at src/core/ngx_times.c:73

#4  0x004016e3 in main (argc=2, argv=0x7fffec78) at
src/core/nginx.c:216

-- 
Best regards,
Anton Kiryushkin
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

proxy_cache & cache-control

2016-10-18 Пенетрантность Anton Kiryushkin
Здравствуйте.

У меня два вопроса к собравшимся.
1. Чем обсуловлено условие, по которому add_headers и expires нельзя
добавить для кода ответа 502. Его можно кэшировать, но нельзя пытаться
управлять этим кэшированием. Например, с помощью expires.
2. Собственно сам этот expires и cache-control, похоже, не сильно-то
жалуются самим nginx.

Решил проверить, что будет, если разрешить добавлять заголовки для 502-го
кода и с помощью именованного локейшена их туда добавил. Nginx, который
стоит выше уровнем отлично это дело прокэшировал и получились вот такие
чудесные заголовки:

HTTP/1.1 502 Bad Gateway
Server: nginx
Date: Tue, 18 Oct 2016 23:45:07 GMT
Content-Type: text/html
Content-Length: 169
Connection: close
Expires: Tue, 18 Oct 2016 23:46:07 GMT
Cache-Control: max-age=120,public,must-revalidate

В конфиге написано, что 502-й код можно кэшировать только на минуту.
На деле выходит, что даже в 23:46:07 элемент все еще находится в кэше. Ждем
еще минуту и чудо все равно не случается. Nginx игнорирует этот элемент
кэша. Почему/зачем совершенно не понятно.

Может кто-то тут сможет дать совет, как лучше поступить?

-- 
Best regards,
Anton Kiryushkin
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: nginx-1.9.12 & bytes module

2016-03-23 Пенетрантность Anton Kiryushkin
Я так и сделал. Модуль есть.
Ср, 23 марта 2016 г. в 10:54, Maxim Konovalov <ma...@nginx.com>:

> On 3/23/16 2:23 AM, Anton Kiryushkin wrote:
> > Кажется, я сделал как всегда, add-module. А как я мог собрать его
> > динамически и почему другие модули у меня собрались как надо?
> >
> Начните с nginx -V.
>
> > 23 марта 2016 г., 1:42 пользователь Alex Domoradov
> > <alex@gmail.com <mailto:alex@gmail.com>> написал:
> >
> > Вы его случайно не динамически собрали? Я про модуль
> >
> > 2016-03-23 0:37 GMT+02:00 Anton Kiryushkin <sw...@fotofor.biz
> > <mailto:sw...@fotofor.biz>>:
> >
> > Добрый вечер.
> >
> > Попробовал переехать на одном из серверов на 1.9.12 и не
> > получилось по весьма неожиданной причине. Дело в том, что
> > там используется ngx_http_bytes_filter_module от Максима
> > Дунина (кажется). Который вдруг стал себя не узнавать:
> >
> > nginx: [emerg] unknown directive "bytes"
> >
> >
> > Хотя в конфиге как и прежде указано просто:
> >
> >     bytes on;
> >
> >
> > Не подскажете, что с этим можно сделать? Nginx, конечно же,
> > собран с этим модулем.
> >
> >
> > --
> > Best regards,
> > Anton Kiryushkin
> >
> >
> > ___
> > nginx-ru mailing list
> > nginx-ru@nginx.org <mailto:nginx-ru@nginx.org>
> > http://mailman.nginx.org/mailman/listinfo/nginx-ru
> >
> >
> >
> > ___
> > nginx-ru mailing list
> > nginx-ru@nginx.org <mailto:nginx-ru@nginx.org>
> > http://mailman.nginx.org/mailman/listinfo/nginx-ru
> >
> >
> >
> >
> > --
> > Best regards,
> > Anton Kiryushkin
> >
> >
> >
> > ___
> > nginx-ru mailing list
> > nginx-ru@nginx.org
> > http://mailman.nginx.org/mailman/listinfo/nginx-ru
> >
>
>
> --
> Maxim Konovalov
>
> ___
> 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

nginx-1.9.12 & bytes module

2016-03-22 Пенетрантность Anton Kiryushkin
Добрый вечер.

Попробовал переехать на одном из серверов на 1.9.12 и не получилось по
весьма неожиданной причине. Дело в том, что там используется
ngx_http_bytes_filter_module от Максима Дунина (кажется). Который вдруг
стал себя не узнавать:

nginx: [emerg] unknown directive "bytes"


Хотя в конфиге как и прежде указано просто:

bytes on;


Не подскажете, что с этим можно сделать? Nginx, конечно же, собран с этим
модулем.

-- 
Best regards,
Anton Kiryushkin
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: nginx-1.9.11

2016-02-09 Пенетрантность Anton Kiryushkin
А можно чуть подробнее про динамические модули? На основе чего их можно
делать?

9 февраля 2016 г., 17:29 пользователь Maxim Dounin <mdou...@mdounin.ru>
написал:

> Изменения в nginx 1.9.11
> 09.02.2016
>
> *) Добавление: теперь resolver поддерживает TCP.
>
> *) Добавление: динамические модули.
>
> *) Исправление: при использовании HTTP/2 переменная $request_length не
>учитывала размер заголовков запроса.
>
> *) Исправление: в модуле ngx_http_v2_module.
>
>
> --
> Maxim Dounin
> http://nginx.org/
>
> ___
> nginx-ru mailing list
> nginx-ru@nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-ru




-- 
Best regards,
Anton Kiryushkin
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

proxy_cache_key

2015-11-15 Пенетрантность Anton Kiryushkin
Здравствуйте.

Я тут столкнулся с тем, что в кэше у меня оказываются ключи для http_ver
1.0 и для http_ver 1/1. Можно ли их каким-то образом сделать одинаковыми?
Или это как с Vary недавним?


-- 
Best regards,
Anton Kiryushkin
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: 105: No buffer space available

2015-09-08 Пенетрантность Anton Kiryushkin
Да, я так и сделал. Но кроме советов достаточно далекой давности и в
основном относящиеся к OpenVZ не нашел.

Может быть у вас есть иные ключевые слова для поиска?

8 сентября 2015 г., 15:28 пользователь Daniel Podolsky <onoko...@gmail.com>
написал:

> > Не подскажете, в какую сторону копать?
> я бы поискал в гугле
> ___
> nginx-ru mailing list
> nginx-ru@nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-ru




-- 
Best regards,
Anton Kiryushkin
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: 105: No buffer space available

2015-09-08 Пенетрантность Anton Kiryushkin
Здравствуйте.

Повторяю, nginx живет вне виртуального окружения. У сервера есть много сети
(10 Гбит) и много памяти (256Гб).
Вот кусок конфига, который отвечает за хост, который пишет в лог о
недостаточности буферов:

proxy_redirectoff;
proxy_buffering  on;
proxy_buffer_size   8k;
proxy_buffers   65536 8k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;

Сама буферизация необходима, так как пользователь открывает длительное
подключение с бэкендом.  Ядро Linux, 3.2.68.

Пробовал, так же, крутить net.core.somaxconn, но безрезультатно.

8 сентября 2015 г., 15:31 пользователь Ivan Palanevich <loverj...@gmail.com>
написал:

> Вероятно вам стоит описать немного более подробно вашу проблему.
> что за виртуализация, части конфигов с описанием ваших буферов, ось, ядро
> и тд.
>
> Ivan Palanevich
> loverj...@gmail.com
>
>
>
> On Sep 8, 2015, at 15:29, Anton Kiryushkin <sw...@fotofor.biz> wrote:
>
> Да, я так и сделал. Но кроме советов достаточно далекой давности и в
> основном относящиеся к OpenVZ не нашел.
>
> Может быть у вас есть иные ключевые слова для поиска?
>
> 8 сентября 2015 г., 15:28 пользователь Daniel Podolsky <onoko...@gmail.com
> > написал:
>
>> > Не подскажете, в какую сторону копать?
>> я бы поискал в гугле
>> ___
>> nginx-ru mailing list
>> nginx-ru@nginx.org
>> http://mailman.nginx.org/mailman/listinfo/nginx-ru
>
>
>
>
> --
> Best regards,
> Anton Kiryushkin
>
> ___
> 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
>



-- 
Best regards,
Anton Kiryushkin
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

105: No buffer space available

2015-09-08 Пенетрантность Anton Kiryushkin
Здравствуйте.

Не подскажете, в какую сторону копать? Не виртуалка и действительно много
подключений. Но памяти в системе еще вагон.

-- 
Best regards,
Anton Kiryushkin
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: Re: nginx и потребление памяти

2015-08-18 Пенетрантность Anton Kiryushkin
Максим, позвольте к вам еще раз обратиться.

Есть ли какая-то формула для подсчета буферов, исходя из примерного размера
backend-upstream и числа запросов к серверу/величины трафика. К сожалению,
пока так и не удалось найти баланс. И да, я имею ввиду proxy_byffers и
proxy_buffer_size.

18 августа 2015 г., 17:18 пользователь Maxim Dounin mdou...@mdounin.ru
написал:

 Hello!

 On Tue, Aug 18, 2015 at 06:22:01PM +0500, Amanda Sproule wrote:

  в обоих случаях nginx оказывался собран с ModSecurity.
 
  так и есть началь замечать отжирания 1GB в режиме досек-прокси.
 
  то тут можно только процитировать старый анекдот: Не делайте так.
 
  удалите его из порта во freebsd тогда, пока модсековцы не решат проблемы.

 Пересоберите порт без соответствующей опции - и будет вам счастье.

 Там этих опций - чуть больше, чем дофига, и часть из них - сильно
 экспериментальная (да и в целом качество 3rd party модулей обычно
 оставляет желать, use with care).  Просто не стоит бездумно
 отмечать всё чтобы было.

 Ну и да, порт мейнтейнит Сергей Осокин, ему и следует писать, если
 вы считаете, что в порте что-то не так.  Но в данном случае я не
 вижу повода, чтобы беспокоить уважаемого человека.

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

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




-- 
Best regards,
Anton Kiryushkin
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: nginx и потребление памяти

2015-08-13 Пенетрантность Anton Kiryushkin
Верно ли я понимаю, что память воркерами все равно постепенно должна
потребляться. И в моих силах только не дать этой памяти расти чрезмерно
быстро? Или же я чего-то не понимаю?

13 августа 2015 г., 14:30 пользователь Maxim Dounin mdou...@mdounin.ru
написал:

 Hello!

 On Thu, Aug 13, 2015 at 01:48:02AM +0300, Anton Kiryushkin wrote:

  Да, не совсем мой случай.
 
  Я начал смотреть, чем же молодой процесс отличается от того, который
  съел 10Гб оперативки. Например, вот старый:
 
  /proc/21263/fd# ls -al | wc -l
  78305
 
  А вот молодой, который на момент подсчета съел около 3Гб:
  /proc/12578/fd# ls -al | wc -l
  16902

 [...]

  Не очень понятно, куда тут можно копать.

 Для начала - копать в nginx -V и внимательное изучение всех
 сторонних модулей.

 Впрочем, если количество открытых файловых дескрипторов
 соответствует реальному количеству соединений, то проблема может
 быть банально в слишком больших буферах в конфиге.

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

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




-- 
Best regards,
Anton Kiryushkin
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: nginx и потребление памяти

2015-08-12 Пенетрантность Anton Kiryushkin
Да, не совсем мой случай.

Я начал смотреть, чем же молодой процесс отличается от того, который
съел 10Гб оперативки. Например, вот старый:

/proc/21263/fd# ls -al | wc -l
78305

А вот молодой, который на момент подсчета съел около 3Гб:
/proc/12578/fd# ls -al | wc -l
16902

А сам процесс сообщает о себе следующее:

VmPeak: 11057228 kB
VmSize: 11057228 kB
VmLck:   0 kB
VmPin:   0 kB
VmHWM: 10856376 kB
VmRSS: 10856376 kB
VmData: 9972480 kB
VmStk: 1408 kB
VmExe: 4008 kB
VmLib: 1864 kB
VmPTE:   21520 kB
VmSwap:   0 kB
Threads: 1


Не очень понятно, куда тут можно копать.

12 августа 2015 г., 22:39 пользователь Maxim Dounin mdou...@mdounin.ru
написал:

 Hello!

 On Wed, Aug 12, 2015 at 09:45:10PM +0300, Anton Kiryushkin wrote:

  Здравствуйте.
 
  Недавно заметили, что nginx в режиме проксирования (то есть у него на
  сервере нет файлов, которые он бы мог отдать сам с диска, например)
  постоянно потребляет память Можете рассказать, на что именно он в этом
  случае может ее потреблять?
 
  По оценкам, примерно, это гигабайт 50 в час.
 
  Сам nginx собран с дополнительными модулями. Но выключить их даже на
  какое-то время не представляется возможным.

 За последние несколько месяцев я видел 2 жалобы про потребление
 памяти, в обоих случаях nginx оказывался собран с ModSecurity.
 Если это аналогичный случай, то тут можно только процитировать
 старый анекдот: Не делайте так.

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

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




-- 
Best regards,
Anton Kiryushkin
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

nginx и потребление памяти

2015-08-12 Пенетрантность Anton Kiryushkin
Здравствуйте.

Недавно заметили, что nginx в режиме проксирования (то есть у него на
сервере нет файлов, которые он бы мог отдать сам с диска, например)
постоянно потребляет память Можете рассказать, на что именно он в этом
случае может ее потреблять?

По оценкам, примерно, это гигабайт 50 в час.

Сам nginx собран с дополнительными модулями. Но выключить их даже на
какое-то время не представляется возможным.

На сервере же переодически происходит OOM-killer и таким образом память
высвобождается до следующего заполнения.

На сам сервер сейчас идет совсем не большая нагрузка, порядка 2Гбит.

-- 
Best regards,
Anton Kiryushkin
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

nginx и сжатие

2015-05-18 Пенетрантность Anton Kiryushkin
Всем привет.

Может ли кто-то подсказать, можно ли, в том числе и по протоколу, научить
nginx принимать сжатый запрос. Ну и разжимать его на лету перед
проксированием в бэкенд.

-- 
Best regards,
Anton Kiryushkin
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: падает nginx mp4 стриминг модуль

2015-03-20 Пенетрантность Anton Kiryushkin
Здравствуйте.

Подскажите, пожалуйста, как правильно дебажить падение стримминга mp4.
Выдает mp4 atom too large:1961198299. Пробовал дергать mp4_buffer_size и
mp4_max_buffer_size. Не помогло. Пробовал выключать open_file_cache. Сейчас
включен aio. Пробовал выключить. Файловая система xfs.
По отладочному логу как-то сходу не понял, на что стоит обратить внимание.

17 ноября 2014 г., 14:19 пользователь Андрей Василишин a.vasilis...@kpi.ua
написал:

 17.11.2014 13:00, kosmozoo пишет:

 Верно, в этом случае про tmpfs. Но насколько помню проблема возникала и
 при
 стриминге с диска.

 Возможно у вас есть идеи как решить для tmpfs ?



 Создать отдельный локейшн для тмпфс и отключить там директио


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




-- 
Best regards,
Anton Kiryushkin
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: Оптимизация nginx для отдачи видеофайлов

2015-03-19 Пенетрантность Anton Kiryushkin
Если у вас сеть 1Гбит, то все, что можете, это увеличить число подключений
на воркер. Остальные вещи вас не спасут.

2015-03-19 16:31 GMT+03:00 LIVE32 nginx-fo...@nginx.us:

 Здравствуйте,
 Как можно оптимизировать nginx для отдачи видеофайлов
 Характеристика сервера: Озу: 12 гб, Процессор: Intel(R) Xeon(R) CPU L5410 @
 2.33GHz, 8 cores,
 система: Ubuntu Linux 14.10 utopic 64bit
 вот внутри nginx.conf

 user  nginx;
 worker_processes  8;

 #error_log /var/log/nginx/error.log crit
 #pid   /var/run/nginx.pid;


 events {
 worker_connections  1024;
 }


 http {
 include   /etc/nginx/mime.types;
 default_type  application/octet-stream;

 log_format  main  '$remote_addr - $remote_user [$time_local] $request
 '
   '$status $body_bytes_sent $http_referer '
   '$http_user_agent $http_x_forwarded_for';

 access_log off;

 sendfileon;
 #tcp_nopush on;

 keepalive_timeout  65;

 #gzip  on;

 include /etc/nginx/conf.d/*.conf;
 }

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

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




-- 
Best regards,
Anton Kiryushkin
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Логика обработки опций в location

2015-03-18 Пенетрантность Anton Kiryushkin
Здравствуйте.

Есть следующая структура

server {

location = /a.php {
  try_files @allow @allow;
}
location = /b.php
  try_files @allow @allow;
}
location @allow {
  some_checks;
  proxy_pass https://127.0.0.1:8080;
}

И вроде бы работает.

Но я хочу сделать фильтр для доступа к a.php и к b.php.
И делать это в рамках a.php и b.php.
Для этого я делаю две map, примерно следующего содержания:

map $remote_addr_a $loc_a {
  default 0;
  1.1.1.1 1;
}
map $remote_addr_b $loc_b {
  default 0;
  2.2.2.2 1;
}
map $remote_addr $all {
 default 0;
 3.3.3.3 1;
}

Что я тут хочу. Чтобы адрес 1.1.1.1 имел доступ только k a.php, 2.2.2.2 к
b.php. А по переменной $all куда угодно.

Дальше я добавляю в location a следующие вещи:
location a {
  set $remote_addr_a $remote_addr;
  set $grant 0;

 if ($loc_a) {
   set $grant 1;
 }
if ($all) {
  set $grant 1;
 }
if ($grant = 0) {
  error_page 404 = @deny;
}
try_files @allow @allow;
}

Тут происходит следующее. Переменные у меня заполняются предсказуемо. Но
только в том случае, если до try_files встречается один if. Если два, то
возвращается 404 и a.php ищется на диске, то есть не происходит
перенаправления в @allow.
То есть, вот так оно работает:

location a {
  set $remote_addr_a $remote_addr;

 if ($loc_a = 0) {
  error_page 404 = @deny;
}
try_files @allow @allow;
}

Собственно, хочется понять, почему так происходит и как сделать то, что мне
хочется.


-- 
Best regards,
Anton Kiryushkin
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: Логика обработки опций в location

2015-03-18 Пенетрантность Anton Kiryushkin
Да, собственно, когда-то так и было. Много разных location с отдельными
правами доступа. Но при этом, хочется вынести то, что повторяется в
какую-то отдельную часть, чтобы уменьшить размер конфигурационного файла и
улучшить его читаемость.

18 марта 2015 г., 18:44 пользователь Gena Makhomed g...@csdoc.com написал:

 On 18.03.2015 17:27, Anton Kiryushkin wrote:

 try_files @allow @allow;


 Только последний параметр может указывать на именованный location.

  Что я тут хочу. Чтобы адрес 1.1.1.1 имел доступ только k a.php, 2.2.2.2
 к b.php. А по переменной $all куда угодно.


 location /a.php {
allow 1.1.1.1;
allow 3.3.3.3;
deny all;

 }

 location /b.php {
allow 2.2.2.2;
allow 3.3.3.3;
deny all;

 }

  Тут происходит следующее. Переменные у меня заполняются предсказуемо. Но
 только в том случае, если до try_files встречается один if. Если два, то
 возвращается 404 и a.php ищется на диске, то есть не происходит
 перенаправления в @allow.


 1) http://wiki.nginx.org/IfIsEvil

 2) https://events.yandex.ru/lib/talks/2392/

 --
 Best regards,
  Gena


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




-- 
Best regards,
Anton Kiryushkin
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: Логика обработки опций в location

2015-03-18 Пенетрантность Anton Kiryushkin
Вместе с тем, хочется понимания, почему происходит локальная обработка при
наличии больше, чем одного if, а не переход в именованный.

18 марта 2015 г., 19:26 пользователь Gena Makhomed g...@csdoc.com написал:

 On 18.03.2015 18:19, Anton Kiryushkin wrote:

  Да, собственно, когда-то так и было. Много разных location с отдельными
 правами доступа. Но при этом, хочется вынести то, что повторяется в
 какую-то отдельную часть, чтобы уменьшить размер конфигурационного файла
 и улучшить его читаемость.


 Улучшить читаемость можно очень простым способом - сделав/написав
 свой собственный генератор конфига, где в своем собственном формате
 в удобной и компактной форме описывается как должен себя вести nginx.


 --
 Best regards,
  Gena

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




-- 
Best regards,
Anton Kiryushkin
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

SPDY errors

2015-02-14 Пенетрантность Anton Kiryushkin
Здравствуйте.

Поймали следующую строчку в логе:

inflate() failed: -5 while processing SPDY

Это происходит, если сделать гигантскую cookie и спровоцировать внутренний
код ошибки 494.

Кто-нибудь сталкивался, может быть с такой проблемой? Версия nginx 1.7.4.

При этом, в http такого поведения не наблюдается.


Собственно, в конфиге я делаю вот так:

error_page   494  @fallback400;

А дальше обрабатываю именованный location.

-- 
Best regards,
Anton Kiryushkin
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: SPDY errors

2015-02-14 Пенетрантность Anton Kiryushkin
Спасибо.

14 февраля 2015 г., 22:44 пользователь Валентин Бартенев vb...@nginx.com
написал:

 On Saturday 14 February 2015 20:49:06 Anton Kiryushkin wrote:
  Здравствуйте.
 
  Поймали следующую строчку в логе:
 
  inflate() failed: -5 while processing SPDY
 
  Это происходит, если сделать гигантскую cookie и спровоцировать
 внутренний
  код ошибки 494.
 
  Кто-нибудь сталкивался, может быть с такой проблемой? Версия nginx 1.7.4.
 [..]

 Это было исправлено 3 месяца назад в 1.7.8:
 http://hg.nginx.org/nginx/rev/abb466a57a22

 Стоит обновить nginx до актуальной версии (1.7.10 на данный момент).

 --
 Валентин Бартенев
 ___
 nginx-ru mailing list
 nginx-ru@nginx.org
 http://mailman.nginx.org/mailman/listinfo/nginx-ru




-- 
Best regards,
Anton Kiryushkin
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: proxy_pass on https

2015-02-04 Пенетрантность Anton Kiryushkin
 Да, upstream называется backend, все же.

5 февраля 2015 г., 0:16 пользователь Anton Kiryushkin sw...@fotofor.biz
написал:

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

 Расскажите, пожалуйста, почему в случае, если я делаю proxy_pass на http
 хост, то keepalive работает. А если на https, то нет.
 Если что, то настройки location у меня такие:

 location / {
 proxy_pass https://backend;
 proxy_http_version 1.1;
 proxy_ssl_session_reuse on;
 proxy_buffering on;
 proxy_set_header X_FORWARDED_PROTO https;
 proxy_ssl_verify off;
 proxy_set_header Connection ;
 proxy_set_header Host $host;
 proxy_pass_request_headers on;
 }

 upstream mrg {
 server ip:443;
 keepalive 600;
 }



 --
 Best regards,
 Anton Kiryushkin





-- 
Best regards,
Anton Kiryushkin
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

proxy_pass on https

2015-02-04 Пенетрантность Anton Kiryushkin
Здравствуйте.

Расскажите, пожалуйста, почему в случае, если я делаю proxy_pass на http
хост, то keepalive работает. А если на https, то нет.
Если что, то настройки location у меня такие:

location / {
proxy_pass https://backend;
proxy_http_version 1.1;
proxy_ssl_session_reuse on;
proxy_buffering on;
proxy_set_header X_FORWARDED_PROTO https;
proxy_ssl_verify off;
proxy_set_header Connection ;
proxy_set_header Host $host;
proxy_pass_request_headers on;
}

upstream mrg {
server ip:443;
keepalive 600;
}



-- 
Best regards,
Anton Kiryushkin
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: Запретить использовать SPDY

2015-01-18 Пенетрантность Anton Kiryushkin
Да, прекрасно. Вот только я не могу слушать отдельный сокет.

18 января 2015 г., 15:49 пользователь Vadim A. Misbakh-Soloviov 
m...@mva.name написал:

 В письме от Вс, 18 января 2015 14:44:33 пользователь Gena Makhomed написал:

  spdy в nginx - это параметр сокета, а не виртуального сервера:
  http://nginx.org/en/docs/http/ngx_http_core_module.html#listen


 ... и отсюда следует что Вы, Anton Kiryushkin), впринципе, можете иметь
 spdy
 выключенным для конкретного server{} и включенным для остальных...
 Только данный server{} должен слушать отдельный от остальных сокет :)


 // раз уж начали прямыми подсказками сыпать, то можно и продолжить... :D

 --
 Best regards,
 mva

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




-- 
Best regards,
Anton Kiryushkin
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: Запретить использовать SPDY

2015-01-18 Пенетрантность Anton Kiryushkin
Здравствуйте.

Да, все равно так. Я хочу принудительно выключить spdy для конкретного
сервера. Так как, по удивительным причинам, не указывание spdy в конфиге не
отменяет факта, что chrome берет и поднимает spdy соединение. Ну
фантастика. Но по конфигу работать не должно. Но работает.

18 января 2015 г., 8:42 пользователь Vadim A. Misbakh-Soloviov m...@mva.name
 написал:

 В письме от Вс, 18 января 2015 08:33:04 пользователь Михаил Монашёв
 написал:
  Если  я  правильно  всё  пониманию, то spdy надо специально включать в
  конфиге  nginx-а,  чтобы по нему начали ходить. Так что его выключение
  состоит в не включении.

 Так ведь, на сколько я понял, товарищ хочет чтобы работало для всех
 server{}
 кроме одного. И жалуется, что недобавления spdy в listen в этом server{} не
 достаточно для того, чтобы SPDY в нём не работал.

 // надеюсь, телепатический шлем отработал без ошибок

 --
 Best regards,
 mva

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




-- 
Best regards,
Anton Kiryushkin
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: Запретить использовать SPDY

2015-01-18 Пенетрантность Anton Kiryushkin
Спасибо за предложение. Проблема не в том, что у меня нет второго адреса.
Вопрос мой ведь в другом, можно ли обойтись иными способами?

18 января 2015 г., 19:17 пользователь Oleg Motienko motie...@gmail.com
написал:

 К.О. Докупите второй IP ?

 2015-01-18 18:56 GMT+03:00 Anton Kiryushkin sw...@fotofor.biz:
  У меня есть сервер, у которого один адрес. Nginx случает этот адрес на
 порту
  443. И обрабатывает два адреса, для который используется один сертификат.
  Как, простите, тут можно использовать разные сокеты?
  Я чего-то не понимаю может быть?
 

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




-- 
Best regards,
Anton Kiryushkin
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Запретить использовать SPDY

2015-01-17 Пенетрантность Anton Kiryushkin
Здравствуйте.

Это, конечно, немного странный вопрос, но можно ли принудительно запретить
на каком-то домене использовать spdy? То есть, принудительно его выключить?
К сожалению, убирание spdy из listen не спасает.

-- 
Best regards,
Anton Kiryushkin
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: nginx-1.7.8

2014-12-02 Пенетрантность Anton Kiryushkin
Здравствуйте.

А можете немного подробнее рассказать о сути изменений в spdy?

2 декабря 2014 г., 16:49 пользователь Maxim Dounin mdou...@mdounin.ru
написал:

 Изменения в nginx 1.7.8
  02.12.2014

 *) Изменение: теперь строки If-Modified-Since, If-Range и им
подобные в заголовке запроса клиента передаются бэкенду при
включённом кэшировании, если nginx заранее знает, что не будет
кэшировать ответ (например, при использовании proxy_cache_min_uses).

 *) Изменение: теперь после истечения proxy_cache_lock_timeout nginx
отправляет запрос на бэкенд без кэширования; новые директивы
proxy_cache_lock_age, fastcgi_cache_lock_age, scgi_cache_lock_age и
uwsgi_cache_lock_age позволяют указать, через какое время блокировка
будет принудительно снята и будет сделана ещё одна попытка
закэшировать ответ.

 *) Изменение: директива log_format теперь может использоваться только
 на
уровне http.

 *) Добавление: директивы proxy_ssl_certificate,
proxy_ssl_certificate_key, proxy_ssl_password_file,
uwsgi_ssl_certificate, uwsgi_ssl_certificate_key и
uwsgi_ssl_password_file.
Спасибо Piotr Sikora.

 *) Добавление: теперь с помощью X-Accel-Redirect можно перейти в
именованный location.
Спасибо Toshikuni Fukaya.

 *) Добавление: теперь директива tcp_nodelay работает для
SPDY-соединений.

 *) Добавление: новые директивы в скриптах подсветки синтаксиса для vim.
Спасибо Peter Wu.

 *) Исправление: nginx игнорировал значение s-maxage в строке
Cache-Control в заголовке ответа бэкенда.
Спасибо Piotr Sikora.

 *) Исправление: в модуле ngx_http_spdy_module.
Спасибо Piotr Sikora.

 *) Исправление: в директиве ssl_password_file при использовании OpenSSL
0.9.8zc, 1.0.0o, 1.0.1j.

 *) Исправление: при использовании директивы post_action в лог писались
сообщения header already sent; ошибка появилась в nginx 1.5.4.

 *) Исправление: при использовании директивы postpone_output 0 с
SSI-подзапросами в лог могли писаться сообщения the http output
chain is empty.

 *) Исправление: в директиве proxy_cache_lock при использовании
SSI-подзапросов.
Спасибо Yichun Zhang.


 --
 Maxim Dounin
 http://nginx.org/en/donation.html

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




-- 
Best regards,
Anton Kiryushkin
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: nginx-1.7.8

2014-12-02 Пенетрантность Anton Kiryushkin
Вероятно, последнее было бы полезно и мне.
Вообще, меня интересует, как можно отследить и исправить проблему с
ERR_SPDY_PROTOCOL_ERROR.
Особенно это заметно, когда аудио с сайта начинает играть по кругу.
С ошибкой  ERR_CACHE_MISS более-менее понятно.

2 декабря 2014 г., 17:11 пользователь Валентин Бартенев vb...@nginx.com
написал:

 On Tuesday 02 December 2014 17:52:49 Anton Kiryushkin wrote:
  Здравствуйте.
 
  А можете немного подробнее рассказать о сути изменений в spdy?
 

 По сути исправлено несколько ошибок.  Вообще со SPDY имеет
 смысл всегда использовать только последнюю mainline версию.

 Если подробно, то:

  - Теперь работает устновка TCP_NODELAY на spdy соединении
и снятие TCP_CORK/TCP_NOPUSH.  Отсутствие этого механизма
могло приводить к задержкам в отправке последней части
ответа;

  - Исправлена одна граничная ситуация в обработке запроса,
который не поместился в large_client_header_buffers.
В этом случае nginx мог выдавать 500-ую ошибку и закрывать
spdy соединение, вместо возвращения 400-ой для конкретного
стрима;

  - Ранее nginx выдавал некорректные с точки зрения SPDY/3.1
спецификации фреймы с заголовками ответа, если в ответе
было несколько одинаковых заголовков с пустым значением.

 --
 Валентин Бартенев
 ___
 nginx-ru mailing list
 nginx-ru@nginx.org
 http://mailman.nginx.org/mailman/listinfo/nginx-ru




-- 
Best regards,
Anton Kiryushkin
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: Забивается папка проксированных тел

2014-12-01 Пенетрантность Anton Kiryushkin
Здравствуйте.

Максим, будьте любезны подсказать, как это лучше сделать. Сервер достаточно
нагружен, чтобы включать какой-то отладочный лог.

1 декабря 2014 г., 17:49 пользователь Maxim Dounin mdou...@mdounin.ru
написал:

 Hello!

 On Sun, Nov 30, 2014 at 05:47:39PM +0400, Anton Kiryushkin wrote:

  Ну не прямо так и называются, но проявляется примерно так:
 
  25583852000 lrwx--   1 www-data www-data   64 Nov 30 16:46
  /proc/11733/fd/597 - /tmp/nginx.client_body_temp/025513\ (deleted)
  25583855270 lrwx--   1 www-data www-data   64 Nov 30 16:46
  /proc/11733/fd/924 - /tmp/nginx.client_body_temp/023652\ (deleted)
  25583866600 lrwx--   1 www-data www-data   64 Nov 30 16:46
  /proc/11733/fd/2057 - /tmp/nginx.client_body_temp/025516\ (deleted)
  25583872670 lrwx--   1 www-data www-data   64 Nov 30 16:46
  /proc/11733/fd/2664 - /tmp/nginx.client_body_temp/020235\ (deleted)

 Это временные файлы, которые nginx использует для чтения тела
 запроса, если размер тела превышает client_body_buffer_size. Сами
 файлы удалены, но nginx ещё держит их открытыми - видимо,
 соответствующие запросы пока ещё выполняются.

 Само по себе использование временных файлов является штатным
 поведением (в логах при этом будет warning про a client request
 body is buffered to a temporary file).  Если есть причины думать,
 что что-то происходит нештатно - e.g., файлы не закрываются по
 завершению запроса - имеет смысл начать со сбора информации,
 демонстрирующей проблему.

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

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




-- 
Best regards,
Anton Kiryushkin
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: Забивается папка проксированных тел

2014-11-30 Пенетрантность Anton Kiryushkin
Ну не прямо так и называются, но проявляется примерно так:

25583852000 lrwx--   1 www-data www-data   64 Nov 30 16:46
/proc/11733/fd/597 - /tmp/nginx.client_body_temp/025513\ (deleted)
25583855270 lrwx--   1 www-data www-data   64 Nov 30 16:46
/proc/11733/fd/924 - /tmp/nginx.client_body_temp/023652\ (deleted)
25583866600 lrwx--   1 www-data www-data   64 Nov 30 16:46
/proc/11733/fd/2057 - /tmp/nginx.client_body_temp/025516\ (deleted)
25583872670 lrwx--   1 www-data www-data   64 Nov 30 16:46
/proc/11733/fd/2664 - /tmp/nginx.client_body_temp/020235\ (deleted)




19 ноября 2014 г., 19:18 пользователь Maxim Dounin mdou...@mdounin.ru
написал:

 Hello!

 On Wed, Nov 19, 2014 at 02:46:26AM +0400, Anton Kiryushkin wrote:

  Здравствуйте.
 
  В последнее время стали находить много серверов, где довольно много таких
  вот файлов остается:
 
  nginx.client_body_temp/ID (deleted)
 
  Что с этим можно сделать? Сейчас 1.6.0, на 1.2.4 таких проблем не
 замечали.

 Вот прям так файлы и называются, с  (deleted) в конце названия?
 Если да, то это выглядит как что-то, связанное поведением файловой
 системы.

 Вообще nginx временные файлы удаляет сразу после создания (если
 его не попросили делать по другому с помощью директивы
 client_body_in_file_only), и соответственно на файловой системе
 они стандартными средствами не видны, а после закрытия
 соответствующего файлового дескриптора nginx'ом - с диска исчезают
 сами.

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

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




-- 
Best regards,
Anton Kiryushkin
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

server_name regexp

2014-11-22 Пенетрантность Anton Kiryushkin
Здравствуйте.

Какая-то ерунда наблюдается. Вот есть у меня хост, у которого есть
поддомены. И каждый поддомен должен идти на свой бэкенд. Но так же, у этого
хоста есть и https.
Вопрос первый. Правда ли, что с этом случае нельзя использовать регулярное
выражение для описания имени этого хоста? Если так, то нужно  использовать
regexp имя и *.site.com ?
Вопрос второй. Я вот попробовал использовать такую конструкцию для описания
этого хоста, как в map, так и в server_name:
~^(?n).+site\.com$

И ни в map, ни в server_name я не получаю значение $n.

Я попробовал так:
~^(?n.+site\.com)$

И получил весь $http_host, вместо $n.

Что я делаю не так?



-- 
Best regards,
Anton Kiryushkin
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: Re[2]: resumable upload

2014-11-18 Пенетрантность Anton Kiryushkin
Добрый вечер.

А ни у кого случаем нет патча для последних версий nginx? Буду очень
благодарен за ссылку.

22 мая 2013 г., 21:51 пользователь vlastv nginx-fo...@nginx.us написал:

 Михаил Монашёв Wrote:
 ---
  Здравствуйте, Dmitry.
 
   Сложилась  не  очень  приятная  для  многих  ситуация  в  связис
   upload-модулем и его неработоспособностью в свежих версиях nginx.
   В  частности  мы используем модуль в продакшене практически с самого
   появления модуля, и уже более двух лет используем его фичу resumable
   upload. На наших нагрузках использование модуля более чем оправдано,
   также  как  и  оправдано использование дозагрузки в связи с большими
   размерами загружаемых файлов.
   Я  сильно  опасаюсь,  что  когда  политика  нашей  компании  вынудит
   обновиться  до  свежей  версии nginx, у меня не будет никакой замены
   для  upload-модуля  (client_body_in_file_only ни разу не полноценная
   замена).
 
   Поэтому,  думаю  многие  были  бы  рады услышать ответ Nginx Inc. по
   поводу  дальнейшей  судьбы  этого  модуля, и request body-фильтров в
   частности,  т.к. насколько я понимаю именно с их помощью можно будет
   легально реализовать такой же функционал.
 
  Если  так  сильно  нужен  модуль,  то почему бы не проспонсировать его
  доработку?  У  меня  была подобная ситуация с самописным модулем и всё
  прекрасно разрешилось.

 Цена вопроса?

 
  --
  С уважением,
   Михаил  mailto:postmas...@softsearch.ru
 
  ___
  nginx-ru mailing list
  nginx-ru@nginx.org
  http://mailman.nginx.org/mailman/listinfo/nginx-ru

 Posted at Nginx Forum:
 http://forum.nginx.org/read.php?21,237896,239432#msg-239432

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




-- 
Best regards,
Anton Kiryushkin
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: nginx и /etc/hosts

2014-10-02 Пенетрантность Anton Kiryushkin
Здравствуйте, Игорь.

А можно у вас уточнить еще два момента.
1. Зачем nginx вызывает эти функции libc, например, если в нашем случае мы
не используем в proxy_pass домены, а только IP. Верно ли предположение, что
происходит вызов gethostbyname на IP?
2. Как оптимизировать это место, если файл hosts достаточно большой?

2 октября 2014 г., 10:43 пользователь Igor Sysoev i...@sysoev.ru написал:

 On 02 Oct 2014, at 04:28, Anton Kiryushkin sw...@fotofor.biz wrote:

 Мы тут заметили, что при старте nginx, он довольно часто перечитывает
 /etc/hosts и /etc/resolv.conf. Можно ли как-то узнать зачем. Причем ладно
 бы один раз, а то ведь раз 5, по ощущениям.


 Это делает libc при вызове gethostbyname() и getaddrinfo().


 --
 Igor Sysoev
 Join us for nginx.conf 2014, October 20-22, San Francisco.
 Get 25% off with code NGINXUG: http://nginx.com/nginxconf/

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




-- 
Best regards,
Anton Kiryushkin
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: nginx и /etc/hosts

2014-10-02 Пенетрантность Anton Kiryushkin
Здравствуйте, Вадим.

Это не всегда удобно. Например, если у вас достаточно много хостов и не
одна площадка. В этом случае вы предлагаете на каждой площадке сделать
много таких dns-серверов? Но в чем выигрыш? Мы делаем запрос по сети и
тратим на это условно 500 миллисекунд, или мы имеем hosts в памяти и в
худшем случае тратим 200 на чтение этого файла, который и так оказывается в
кэше системы.

2 октября 2014 г., 15:22 пользователь Vadim A. Misbakh-Soloviov 
m...@mva.name написал:

 В письме от Чт, 2 октября 2014 15:06:20 пользователь Anton Kiryushkin
 написал:
  Здравствуйте, Игорь.

 Прошу прощения, что влезаю, хоть и не Игорь :)

  А можно у вас уточнить еще два момента.
  1. Зачем nginx вызывает эти функции libc, например, если в нашем случае
 мы
  не используем в proxy_pass домены, а только IP. Верно ли предположение,
 что
  происходит вызов gethostbyname на IP?

 -//-//-//-

  2. Как оптимизировать это место, если файл hosts достаточно большой?

 А Вы не пробовали, раз уж у вас так разросся файл hosts посмотреть в
 сторону
 использования кеширующего dns-сервера? (хоть бы и того же dnsmasq)?

 --
 Best regards,
 mva

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




-- 
Best regards,
Anton Kiryushkin
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

nginx и /etc/hosts

2014-10-01 Пенетрантность Anton Kiryushkin
Здравствуйте.

Мы тут заметили, что при старте nginx, он довольно часто перечитывает
/etc/hosts и /etc/resolv.conf. Можно ли как-то узнать зачем. Причем ладно
бы один раз, а то ведь раз 5, по ощущениям.

-- 
Best regards,
Anton Kiryushkin
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

nginx + cors

2014-09-10 Пенетрантность Anton Kiryushkin
Здравствуйте.

Подскажите, пожалуйста, имеется мистика.
Есть вот такой location:
location ~ \.jpg$ {
  expires 1h;
  proxy_pass http://host:port;
  add_header Access-Control-Allow-Headers X-Requested-With;
  add_header Access-Control-Allow-Methods GET, HEAD, OPTIONS;
  add_header Access-Control-Allow-Origin *;
}

И все вроде бы хорошо, но если размер файла становится хотя бы 91256 байт,
то эти заголовки не отдаются. Звучит как фантастика, но может быть и правда
отдача заголовков зависит от того, какой объем проксируется. Версия nginx
1.2.4.

-- 
Best regards,
Anton Kiryushkin
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: nginx + cors

2014-09-10 Пенетрантность Anton Kiryushkin
Здравствуйте.

Делаю curl -i и проверяю, что отдал сервер.


10 сентября 2014 г., 14:17 пользователь Aleksandr Sytar 
sytar.a...@gmail.com написал:

 10 сентября 2014 г., 12:14 пользователь Anton Kiryushkin
 sw...@fotofor.biz написал:
  Здравствуйте.
 
  Подскажите, пожалуйста, имеется мистика.
  Есть вот такой location:
  location ~ \.jpg$ {
expires 1h;
proxy_pass http://host:port;
add_header Access-Control-Allow-Headers X-Requested-With;
add_header Access-Control-Allow-Methods GET, HEAD, OPTIONS;
add_header Access-Control-Allow-Origin *;
  }
 
  И все вроде бы хорошо, но если размер файла становится хотя бы 91256
 байт,
  то эти заголовки не отдаются. Звучит как фантастика, но может быть и
 правда
  отдача заголовков зависит от того, какой объем проксируется. Версия nginx
  1.2.4.

 А как вы проверяете отдачу/не отдачу заголовков?

 По хорошему нужно как-то так: curl -I http://domain.com/foo.jpg
 ___
 nginx-ru mailing list
 nginx-ru@nginx.org
 http://mailman.nginx.org/mailman/listinfo/nginx-ru




-- 
Best regards,
Anton Kiryushkin
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: Странное поведение при редиректе по параметрам

2014-02-05 Пенетрантность Anton Kiryushkin
Понятно. Нужно делать принудительный сброс аргументов. Вышел из положения
так:
if ($arg_arg ~* noname) {
   set $args ;
   rewrite ^ http://domain.com permanent;
}


5 февраля 2014 г., 12:36 пользователь Anton Kiryushkin
sw...@fotofor.bizнаписал:

 Всем здравствуйте.

 Имеет урл:
 http://domain.com/?arg=noname

 Делается конфиг:

 if ($arg_arg ~* noname) {
rewrite ^ http://domain.com permanent;
 }

 На странице в итоге вижу про циклические редиректы, а в логе уйму
 обращений на все тот же исходный урл. Но почему, если я делаю редирект на
 http://domain.com, а не на http://domain.com/ ?
 Дебаг там к сожалению не включить, но логически это поведение объяснить не
 получается.

 --
 Best regards,
 Anton Kiryushkin





-- 
Best regards,
Anton Kiryushkin
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: анализ аргументов в arg*

2014-02-02 Пенетрантность Anton Kiryushkin
Может быть попробовать так:
if ($args ~* SID=110) {
?


2 февраля 2014 г., 17:13 пользователь denis de...@webmaster.spb.ruнаписал:

 01.02.2014 15:58, Igor Sysoev пишет:

  On Feb 1, 2014, at 2:57 , denis wrote:

 Потребовалось сделать редирект на базе одного из ряда аргументов,
 логично было бы так
 if ($arg_SID=110) {

 А заработало так
 if ($args ~ SID=110) {

 Что с $arg_SID не так? Вариант с if ($arg_SID~110) { также не заработал.
 И почему с args заработало вообще.

 вызов типа ?SID=11PID=200

 $arg_SID должен работать.


 но не работало или я что-то не так делал. Версия 1.4.4, не самая новая но
 и не 0.7 штатный дебиановский. Из оф.репы ngixn. Примеры запуска выше.
 Ну и почему работало if ($args ~ SID=110), в чем тут суть.
 Блок был примерно такой
 location / {
 if ... {
 return 301 tralala;
 break;
 }

 основное описание


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




-- 
Best regards,
Anton Kiryushkin
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: proxy_pass https

2014-01-20 Пенетрантность Anton Kiryushkin
Да, это само собой. На 1-м у меня сейчас так:

proxy_set_header X-Real-IP $remote_addr;

proxy_set_header Host $host;

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;


20 января 2014 г., 20:10 пользователь Anton Yuzhaninov
cit...@citrin.ruнаписал:

 On 01/20/14 20:03, Anton Kiryushkin wrote:

 Первичный вывод сделан на основе прописывания на втором nginx в конфиге
 хоста опций:

 set_real_ip_from

 real_ip_header


 Еще на 1-м nginx нужно

 proxy_set_header $remote_addr;

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




-- 
Best regards,
Anton Kiryushkin
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: FTP Proxy

2013-11-14 Пенетрантность Anton Kiryushkin
haproxy ?


14 ноября 2013 г., 15:37 пользователь Илья Шипицин
chipits...@gmail.comнаписал:

 мы используем вот такую штуку  http://www.openbsd.org/faq/pf/ru/ftp.html



 14 ноября 2013 г., 16:30 пользователь Роман n.g.i.n.x@gmail.com
 написал:
  Здравствуйте.
 
  Есть куча вируталок во внутренней сети, н с одним нешним ip
 
  Можно ли проксировать в них ftp соединения через  nginx?
 
  Или есть какое то аналогичное решение?
 
  ___
  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




-- 
Best regards,
Anton Kiryushkin
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: Можно ли определить делимость числа ?

2013-11-03 Пенетрантность Anton Kiryushkin
Ну всякие бывают извращения. Например, бывает несколько апстримов, между
которыми нужно распределять запросы, в зависимости от некого числа.


2013/11/2 Dmitry dmitry.goryai...@gmail.com

 На вскидку, ибо с телефона,
 http://www.ashep.org/2011/nginx-balansirovka-nagruzki/

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




-- 
Best regards,
Anton Kiryushkin
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: блокировка клиентов по комбинации IP-адреса и user agent

2013-08-11 Пенетрантность Anton Kiryushkin
Можете использовать маленький скрипт на lua, в который отправлять IP и
user-agent, а в скрипте анализировать, блокировать запрос, или нет.


9 августа 2013 г., 9:01 пользователь Михаил Монашёв 
postmas...@softsearch.ru написал:

 Здравствуйте, anon.

  Какое  можете предложить наиболее эффективное решение для блокировки
  клиентов  по паре IP-адрес (в идеале - подсеть) + строка user agent?
  Для упрощения предположим, что user agent всегда постоянный.

 Генерить  файлик  с  map{}  и инклудить его в основной конфиг. А раз в
 минуту  или  при  изменении  файлика посылать nginx-у сигнал, чтобы он
 перечитывал свой конфиг

 --
 С уважением,
  Михаил  mailto:postmas...@softsearch.ru

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




-- 
Best regards,
Anton Kiryushkin
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: Хочется сделать так, чтобы сайт не был доступен по его ip

2013-07-21 Пенетрантность Anton Kiryushkin
Выкладывайте уже, будем смотреть )


21 июля 2013 г., 22:55 пользователь dvital1001 nginx-fo...@nginx.usнаписал:

 я думаю не слишком хорошо ip своего сервера светить в интернете таким
 образом. :)  Я могу выложить конфиг, заменив домены на ip на что-то
 нейтральное, но с сохранением смысла конфига. Так подойдет?

 Posted at Nginx Forum:
 http://forum.nginx.org/read.php?21,241085,241100#msg-241100

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




-- 
Best regards,
Anton Kiryushkin
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: Переопределение заголовка Connection

2013-07-02 Пенетрантность Anton Kiryushkin
А не может ли дело быть в отсутствующем заголовке host?
02.07.2013 16:16 пользователь Илья Шипицин chipits...@gmail.com написал:

 На HTTP/1.1 заголовок Connection необязателен, дефолтным значением
 считается Keep-Alive.
 заставлять никого не надо.

 2 июля 2013 г., 16:07 пользователь Александр Бабин al...@yandex.ru
 написал:
  Привет всем !
  Столкнулся с такой проблемой. Есть некий портал, крутится на JBOSS.
 Используется NGINX в качестве front-end. По документации настроен
 keep-alive:
 
  http{
  ...
  keepalive_timeout 45 45;
  keepalive_requests 1000;
  ...
  }
 
  А вот редирект на JBOSS, то есть на back-end:
 
  server{
  ...
  location /our-portal/ {
  proxy_pass http://127.0.0.1:8080;
  break;
  error_page 404 = @404;
  error_page 502 = @502;
  error_page 504 = @504;
  }
  ...
  }
 
  Проанализировал сетевые дампы между клиентом , nginx и jboss, и
 оказалось, что в случае проксирования клиенту всегда приходит
 Connection:close . В этом вся и проблема, несмотря на настройки в Nginx,
 возможно , что-то не так настроено...
  СтОит отметить, что back-end ВСЕГДА возвращает вообще ответ без
 заголовка Connection. Причем это не зависит от заголовка запроса. Таким
 образом, в качестве исходных данных считаем, что back-end НИКОГДА не шлет
 заголовок Connection.
  Я попытался в реврайт добавить ручками нужный заголовок через
 more_set_headers:
 
  location /our-portal/ {
  proxy_pass http://127.0.0.1:8080;
  more_set_headers 'connection: keep-alive';
  break;
  error_page 404 = @404;
  error_page 502 = @502;
  error_page 504 = @504;
  }
 
  но в этом случае в браузер приходит Connection : close, keep-alive, и
 здесь, согласно документации, должно приходить только одно значение. Так
 что , как будут вести себя разные типы браузеров - неясно.
  Как быть в этом случае ? как заставить отдавать Connection: keep-alive
 ? если это возможно..
 
  Спасибо!
 
  ___
  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
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: Перезапуск кэш-менеджера

2013-03-14 Пенетрантность Anton Kiryushkin
Отвечаю по-порядку.
1. На нашей нагрузке на nginx, процесс может съедать и гигабайт.
2. Соединения происходят очень быстро и в громадном числе, будем исчислять
их миллионами в секунду.
3. Сервер конечно же не один. Но каждый из них обрабатывает большое число
запросов. И потерять хотя бы один из них на небольшой промежуток времени
очень тяжело.


14 марта 2013 г., 10:51 пользователь denis de...@webmaster.spb.ru написал:

 14.03.2013 2:05, Anton Kiryushkin пишет:

  Да, Михаил. У нас именно такая ситуация. Раздаем очень много разного
 статического контента. И несколько раз приходится думать перед тем, как
 сказать reload. Собственно поэтому и созникает вопрос, отраженный в топике.
 Да и в принципе ответ уже получен. Спасибо.

  А у вас нет системы балансировки нагрузки? И всё раздаётся с 1 машины? В
 правильной системе ведь отказ 1 ноды не должен создать проблем..
 Видимо, вам надо писать свой модуль для управления кэшем или просто под
 свои задачи допиливать nginx.


 __**_
 nginx-ru mailing list
 nginx-ru@nginx.org
 http://mailman.nginx.org/**mailman/listinfo/nginx-ruhttp://mailman.nginx.org/mailman/listinfo/nginx-ru




-- 
Best regards,
Anton Kiryushkin
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: Перезапуск кэш-менеджера

2013-03-13 Пенетрантность Anton Kiryushkin
Вот воркеров как раз и не хочется перезапускать, так как это очень большие
накладные затраты по ресурсам.


13 марта 2013 г., 19:24 пользователь Andrey Kopeyko and...@kopeyko.ruнаписал:

 13.03.2013 18:53, Maxim Dounin пишет:

  Hello!

 On Wed, Mar 13, 2013 at 06:25:15PM +0400, Anton Kiryushkin wrote:

  Возник вопрос с тем, как перезапустить только процесс кэш-менеджера, не
 трогая основной процесс и работающих воркеров?


 Никак.


 Почему же никак - upgrade на лету даст, насколько я понимаю, желаемый
 эффект. Правда, ценой перезапуска воркеров без прерывания обслуживания
 клиентов, переоткрытия логов, и т.д. и т.п. 


 --
 Best regards,
 Andrey Kopeyko and...@kopeyko.ru


 __**_
 nginx-ru mailing list
 nginx-ru@nginx.org
 http://mailman.nginx.org/**mailman/listinfo/nginx-ruhttp://mailman.nginx.org/mailman/listinfo/nginx-ru




-- 
Best regards,
Anton Kiryushkin
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: Перезапуск кэш-менеджера

2013-03-13 Пенетрантность Anton Kiryushkin
Просто очень много подключения к ним. Очень много.


13 марта 2013 г., 19:28 пользователь Andrey Kopeyko and...@kopeyko.ruнаписал:

 13.03.2013 19:25, Anton Kiryushkin пишет:

  Вот воркеров как раз и не хочется перезапускать, так как это очень
 большие накладные затраты по ресурсам.


 Чем же таким тяжелым ваши воркеры занимаются на старте?

  13 марта 2013 г., 19:24 пользователь Andrey Kopeyko and...@kopeyko.ru
 mailto:and...@kopeyko.ru написал:


 13.03.2013 18:53, Maxim Dounin пишет:

 Hello!

 On Wed, Mar 13, 2013 at 06:25:15PM +0400, Anton Kiryushkin wrote:

 Возник вопрос с тем, как перезапустить только процесс
 кэш-менеджера, не
 трогая основной процесс и работающих воркеров?


 Никак.


 Почему же никак - upgrade на лету даст, насколько я понимаю,
 желаемый эффект. Правда, ценой перезапуска воркеров без прерывания
 обслуживания клиентов, переоткрытия логов, и т.д. и т.п. 




 --
 Best regards,
 Andrey Kopeyko and...@kopeyko.ru

 __**_
 nginx-ru mailing list
 nginx-ru@nginx.org
 http://mailman.nginx.org/**mailman/listinfo/nginx-ruhttp://mailman.nginx.org/mailman/listinfo/nginx-ru




-- 
Best regards,
Anton Kiryushkin
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: Перезапуск кэш-менеджера

2013-03-13 Пенетрантность Anton Kiryushkin
Нет, reload не путается с restart. К тому же не забывайте, что при reload,
создаются две копии рабочих процессов. Это может быть достаточно серьезной
нагрузкой на сервер, которую не хочется лишний раз запускать.

Перезапуск же кэш-менеджера может быть полезен, например, для изменения
параметров кэширования. То есть, изменили параметры кэширования,
перезапустили соответствующую службу, или дали команду перечитать конфиг.


13 марта 2013 г., 20:17 пользователь Gena Makhomed g...@csdoc.com написал:

 On 13.03.2013 16:25, Anton Kiryushkin wrote:

  Возник вопрос с тем, как перезапустить только процесс кэш-менеджера, не
 трогая основной процесс и работающих воркеров?


 зачем его перезапускать, в его работе есть какие-то проблемы?
 может быть имеет смысл пофиксить проблему из-за чего он падает,
 тогда и вручную ничего перезапускать не надо будет?

 --
 Best regards,
  Gena


 __**_
 nginx-ru mailing list
 nginx-ru@nginx.org
 http://mailman.nginx.org/**mailman/listinfo/nginx-ruhttp://mailman.nginx.org/mailman/listinfo/nginx-ru




-- 
Best regards,
Anton Kiryushkin
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: Re[2]: Перезапуск кэш-менеджера

2013-03-13 Пенетрантность Anton Kiryushkin
Да, Михаил. У нас именно такая ситуация. Раздаем очень много разного
статического контента. И несколько раз приходится думать перед тем, как
сказать reload. Собственно поэтому и созникает вопрос, отраженный в топике.
Да и в принципе ответ уже получен. Спасибо.


14 марта 2013 г., 1:32 пользователь Михаил Монашёв postmas...@softsearch.ru
 написал:

 Здравствуйте, Daniel.

  К тому же не забывайте, что при reload, создаются две копии рабочих
  процессов. Это может быть достаточно серьезной нагрузкой на сервер,
  которую не хочется лишний раз запускать.
  Нагрузку  на  сервер создают не рабочие процессы (их же не тысячи, и
  даже   не  сотни),  а  соединения,  которых  от  релоада  больше  не
  становится.

 На  самом  деле  проблема  такая есть. При релоаде старые процессы ещё
 кушают  память,  и  новым  может  её  перестать  хватать,  если памяти
 впритык. А несколько реалоадов подряд вообще всю память съедят.

 Не знаю, какой случай у топикстартера, но видимо сильно экстремальный,
 раз он релоад боится делать и видимо раздача видео в плееры или почта,
 раз рестарт не приемлем.

 --
 С уважением,
  Михаил  mailto:postmas...@softsearch.ru

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




-- 
Best regards,
Anton Kiryushkin
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: $request uri в lowercase

2013-03-09 Пенетрантность Anton Kiryushkin
Можно попробовать использовать mod_lua для этих целей. Скрипт будет в две
строчки.


9 марта 2013 г., 18:39 пользователь Namaste nginx-fo...@nginx.us написал:

 Да нет. На самом деле нормальное написание url'а - одно. Например
 /Test-page.htm - таким его генерю я и таким его видно в ссылке с других
 страниц сайта. Просто замечаю, что иногда пытаются скачать /test-page.htm.
 Вот и подумалось, что если кому-то захочется пошалить, можно пытаться
 качать
 страницы с разным написанием урла - страница из кэша браться не будет,
 будет
 расти нагрузка на сервер и будет расти размер кэша.
 Я могу конечно проверять написание урла с написанием соответсвующего поля в
 базе, но зачем мне лишние запросы к базе?

 Posted at Nginx Forum:
 http://forum.nginx.org/read.php?21,237155,237157#msg-237157

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




-- 
Best regards,
Anton Kiryushkin
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: $request uri в lowercase

2013-03-09 Пенетрантность Anton Kiryushkin
Для nginx. Почему, потому что mod_lua асинхронный.


9 марта 2013 г., 23:18 пользователь denis de...@webmaster.spb.ru написал:

 09.03.2013 19:57, Anton Kiryushkin пишет:

  Можно попробовать использовать mod_lua для этих целей. Скрипт будет в две
 строчки.

  для апача? и почему не embedded perl?


 __**_
 nginx-ru mailing list
 nginx-ru@nginx.org
 http://mailman.nginx.org/**mailman/listinfo/nginx-ruhttp://mailman.nginx.org/mailman/listinfo/nginx-ru




-- 
Best regards,
Anton Kiryushkin
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru