Re: No more than 1024 processes can be spawned

2015-07-08 Пенетрантность Maxim Dounin
Hello!

On Tue, Jul 07, 2015 at 05:47:03PM -0400, BieZax wrote:

 Добрый день.  Подскажите пожалуйста, что   значит  сабж в  error логе.

У вас сконфигурировано слишком много рабочих процессов, и nginx 
упёрся в органичение на количество процессов, которое он умеет 
обслуживать (1024 на unix-системах).

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

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

Re: No more than 1024 processes can be spawned

2015-07-08 Пенетрантность BieZax
Maxim Dounin Wrote:
---
 Hello!
 
 On Tue, Jul 07, 2015 at 05:47:03PM -0400, BieZax wrote:
 
  Добрый день.  Подскажите пожалуйста, что   значит  сабж в  error
 логе.
 
 У вас сконфигурировано слишком много рабочих процессов, и nginx 
 упёрся в органичение на количество процессов, которое он умеет 
 обслуживать (1024 на unix-системах).
 
 -- 
 Maxim Dounin
 http://nginx.org/
 
 ___
 nginx-ru mailing list
 nginx-ru@nginx.org
 http://mailman.nginx.org/mailman/listinfo/nginx-ru

Странно, т.к. worker_processes  24; 
И   проблема   вылезает   во время   ротации логов, а до  этого  стабильно 
ps   | grep -c  nginx 
27

Проблема появилась  с 1.8.  Сначала  думал , что дело  в lua, т.к.   в логах
 было что-то типа 
failed to initialize Lua VM in /usr/local/etc/nginx/nginx.conf:108
Но  выпиливание   модуля   из  сборки  проблемы не решило. 
в 1.6   проблема не наблюдается

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

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

Вопрос про map, переменные и аргументы

2015-07-08 Пенетрантность Michael Kechinov
Добрый день.

Есть сервер на NGINX. У него за бэкендом находятся несколько шардов.
Запросы к NGINX приходят с переменной *code*. В переменной хранится строка
случайных символов.

Есть файл с таблицей типа:
1e3c37d24147296e4993029da7ad0b 0;
56c0334642d423e642f163e06f985f 0;
e0252dffdc9bb45183340209c53efa 0;
0f89f5209b84486787797f42bb3939 1;
ced412f1c43cda14c8bdfedb353cd5 1;

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

Прописано это все вот так:
http {
...
map_hash_max_size 8192;
map $arg_code $api_shard {
include /home/user/nginx_mapping.conf;
}
...
}

Когда я выполняю GET-запросы, переменная устанавливается и все хорошо.
Когда я выполняю POST-запросы, переменная не устанавливается, т.к. в GET не
пришел аргумент *code*.
Как можно получить доступ к аргументу в POST запросе, чтобы выставить
нужную переменную?
Заставить все проекты прописать в адрес ко всем POST-запросам аргумент
?code=xyz будет несколько проблематично.
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: No more than 1024 processes can be spawned

2015-07-08 Пенетрантность Maxim Dounin
Hello!

On Wed, Jul 08, 2015 at 07:43:39AM -0400, BieZax wrote:

 Maxim Dounin Wrote:
 ---
  Hello!
  
  On Tue, Jul 07, 2015 at 05:47:03PM -0400, BieZax wrote:
  
   Добрый день.  Подскажите пожалуйста, что   значит  сабж в  error
  логе.
  
  У вас сконфигурировано слишком много рабочих процессов, и nginx 
  упёрся в органичение на количество процессов, которое он умеет 
  обслуживать (1024 на unix-системах).
 
 Странно, т.к. worker_processes24; 
 И   проблема   вылезает   во время   ротации логов, а до  этого  стабильно 
 ps   | grep -c  nginx 
 27

Если для ротации логов используется SIGHUP с перечитыванием 
конфигурации и запусоком новых рабочих процессов (что неправильно, 
надо слать USR1) - то это может быть следствием того, что 
скапливается много старых рабочих процессов, которые ещё не успели 
завершиться.  Использование USR1 проблему вылечит.

Подробнее тут:

http://nginx.org/ru/docs/control.html#logs

 Проблема появилась  с 1.8.  Сначала  думал , что дело  в lua, т.к.   в логах
  было что-то типа 
 failed to initialize Lua VM in /usr/local/etc/nginx/nginx.conf:108
 Но  выпиливание   модуля   из  сборки  проблемы не решило. 
 в 1.6   проблема не наблюдается

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

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

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

400 Bad Request

2015-07-08 Пенетрантность Oleg Kupr
Добрый день!

Столкнулся с 400 ошибкой, увеличение параметра  large_client_header_buffers
32 16k; не дает результата.
Включал error_log c уровнем ошибок info, ошибок связанных с этим запросом не
нашел.
Включил error_log в режиме debug, но к сожалению так и не смог понять суть
ошибки.

Привожу дополнительную информацию:

debug: http://pastebin.com/QJW2ZqSN

nginx -V:  http://pastebin.com/WJ97eg0R

nginx-conf: http://pastebin.com/hPdZQpWh

По задумке nginx проксирует запросы на 5.5.5.5, а статический контент
определенный в отдельном location пытается получить у varnish. Varnish в
случае если запрошенного контента нет в кеше идет за ним на 10.0.2.3 на
котором слушает nginx, и получает напрямую с сервера 5.5.5.5. В upstream
блоке сделана защита на случай недоступности сервера с varnish, определен
прямой backup сервер 5.5.5.5. Если я убираю с upstream блока backup-сервер,
то схема работает без 400-ошибок. Ошибки выдает только на статический
контент и бессистемно. Прошу помощи в поиске ошибки.

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

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

Re: 400 Bad Request

2015-07-08 Пенетрантность Oleg Kupr
Спасибо! Вы очень помогли.

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

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

Re: 400 Bad Request

2015-07-08 Пенетрантность Валентин Бартенев
On Wednesday 08 July 2015 10:19:41 Oleg Kupr wrote:
 Добрый день!
 
 Столкнулся с 400 ошибкой, увеличение параметра  large_client_header_buffers
 32 16k; не дает результата.
[..]

А с чего вы решили, что ошибку выдает ваш nginx?
Судя по логам, 400 ответа получен от вышестоящего сервера.

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

Re: 400 Bad Request

2015-07-08 Пенетрантность Maxim Dounin
Hello!

On Wed, Jul 08, 2015 at 10:19:41AM -0400, Oleg Kupr wrote:

 Добрый день!
 
 Столкнулся с 400 ошибкой, увеличение параметра  large_client_header_buffers
 32 16k; не дает результата.
 Включал error_log c уровнем ошибок info, ошибок связанных с этим запросом не
 нашел.
 Включил error_log в режиме debug, но к сожалению так и не смог понять суть
 ошибки.
 
 Привожу дополнительную информацию:
 
 debug: http://pastebin.com/QJW2ZqSN
 
 nginx -V:  http://pastebin.com/WJ97eg0R
 
 nginx-conf: http://pastebin.com/hPdZQpWh
 
 По задумке nginx проксирует запросы на 5.5.5.5, а статический контент
 определенный в отдельном location пытается получить у varnish. Varnish в
 случае если запрошенного контента нет в кеше идет за ним на 10.0.2.3 на
 котором слушает nginx, и получает напрямую с сервера 5.5.5.5. В upstream
 блоке сделана защита на случай недоступности сервера с varnish, определен
 прямой backup сервер 5.5.5.5. Если я убираю с upstream блока backup-сервер,
 то схема работает без 400-ошибок. Ошибки выдает только на статический
 контент и бессистемно. Прошу помощи в поиске ошибки.

Вам 400 возвращает бекенд:

2015/07/07 17:10:52 [debug] 30118#30118: *257100135 connect to 
5.254.116.202:443, fd:1363 #257147662
...
2015/07/07 17:10:52 [debug] 30118#30118: *257100135 recv: fd:1363 823 of 32768
2015/07/07 17:10:52 [debug] 30118#30118: *257100135 http proxy status 400 400 
Bad Request
2015/07/07 17:10:52 [debug] 30118#30118: *257100135 http proxy header: Server: 
nginx/1.6.2
2015/07/07 17:10:52 [debug] 30118#30118: *257100135 http proxy header: Date: 
Tue, 07 Jul 2015 14:10:54 GMT
2015/07/07 17:10:52 [debug] 30118#30118: *257100135 http proxy header: 
Content-Type: text/html
2015/07/07 17:10:52 [debug] 30118#30118: *257100135 http proxy header: 
Content-Length: 672
2015/07/07 17:10:52 [debug] 30118#30118: *257100135 http proxy header: 
Connection: close
2015/07/07 17:10:52 [debug] 30118#30118: *257100135 http proxy header done

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

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

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

Re: 400 Bad Request

2015-07-08 Пенетрантность Oleg Kupr
 А с чего вы решили, что ошибку выдает ваш nginx?
 Судя по логам, 400 ответа получен от вышестоящего сервера.
--
Валентин Бартенев

То-есть вполне вероятно то, что нужно увеличить large_client_header_buffers
на проксируемом сервере (5.5.5.5) ?

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

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