Re: [Unit] php-модуль, Ubuntu'шные пакеты
On Friday, 14 June 2019 23:40:31 MSK Vadim A. Misbakh-Soloviov wrote: [..] > Хотя от понимания почему там работает - я бы не отказался :) [..] Там бинарная совместимость зависит в том числе от параметров сборки так, что ABI между двумя сборками libphp может разъехаться даже при совпадении версии PHP. Поэтому модуль должен быть собран именно с той сборкой php, с которой он используется, иначе могут быть вот такие спецэффекты. Если ABI разъехался, то упадет оно или не упадет и как будет работать, зависит также от того, где он разъехался и насколько, какие участки памяти при этом затронуты и что в них находилось. -- Валентин Бартенев ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: [Unit] php-модуль, Ubuntu'шные пакеты
Взяли из PPA http://ppa.launchpad.net/ondrej/php/ubuntu (как и все в интернетах, кому нужны отличные от апстримовых версии). Ибо программисты пишут под 7.1 и пока не готовы к апгрейду... К слову, на соседней-то машине, которая тоже bionic, юнит с 7.1 вполне себе работает... Правда, там не lxc-контейнер и ядро поновее... Да и на соседнем проекте, кстати, используют докерный образ nginx/unit:1.8.0- php7.0 и доставляют в него в Dockerfile'е php7.2 и всё работает как часы... Разве что берут они его там с https://packages.sury.org/php/ ибо контейнер дебиановый. В общем, похоже, единственным выходом будет пересобирать юнитомодуль и класть нужные модули в свой PPA... :( Хотя от понимания почему там работает - я бы не отказался :) Пока склонен считать, что, как и сказал товарищ, ответивший мимо рассылки, > Причина была в том, что использовались php плагины, собранные другой версией php или с другой конфигурацией сборки php. Вам надо будет попробовать отключить плагины, или пересобрать их с текущей версией php. Но теория тоже довольно притянутая, т.к. сторонних плагинов не используются а на текущих двух машинах весрии и состав библиотек идентичны. Плюс, крошится-то, на этой машине, только когда я через юнит задаю контролирующие INI-директивы (а без их переопределения не крошится и работает)... В письме от пятница, 14 июня 2019 г. 15:32:45 MSK пользователь Валентин Бартенев написал: > On Friday, 14 June 2019 14:45:25 MSK Vadim A. Misbakh-Soloviov wrote: > > Что-то я хоть тресни, но не могу из gdb попасть в процесс php-модуля, > > чтобы > > отловить его: либо если я включаю и follow=child и выключаю > > detach-on-fork, то ухожу не в те форки, что нужно (роутер, контроллер), а > > знаний как попасть в нужный - не хватает :'(. > > > > > > > > > > Тут, кстати, один участник рассылки в обход неё, напрямую отправил письмо > > о > > том, что он сталкивался с таким же когда модуль был собран не под ту > > версию > > php. > > > > Технически-то, так оно и есть: debug-модуль php у юнита собран под 7.0, а > > "продакшн" под 7.2 > > А использую я 7.1... > > [..] > > Так работать конечно не будет. > У libphp нет совместимости по ABI между 7.x версиями. > > > Но что-то на убунте-то как-то не хочется пересобирать вручную пакет с > > модулем php на каждом сервере, куда планируется воткнуть Юнит. > > > > Может, тогда имеет смысл вам, как апстриму сделать пакеты > > "unit-php-{5.6,7- > > {0,1,2,3}}? > > [..] > > Мы обычно собираем с тем, что есть в дистрибутиве. Иначе это поддерживать > невозможно. Вопрос в том, откуда возникло расхождение в 7.x версиях. > > И откуда вообще взялся php 7.1 в убунтах? > Я что-то его не вижу в https://packages.ubuntu.com/ - ни в xenial, ни в > bionic. > > -- > Валентин Бартенев > ___ > 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
обработка set_real_ip_from для 400-х статусов
привет! стенд: nginx-1.17.0 из официального репо. конфиг user root; worker_processes 1; error_log /var/log/nginx/error.log warn; pid/var/run/nginx.pid; events { worker_connections 1024; } http { include /etc/nginx/mime.types; default_type application/octet-stream; log_format custom '$remote_addr\t$http_x_real_ip\t$status\t$uri'; set_real_ip_from 127.0.0.1; access_log /var/log/nginx/access.log custom; server { listen 80; server_name localhost; location / { return 200; } } server { listen 80; server_name _; location / { return 200; } } } = делаю два запроса curl --header "X-Real-IP: 8.9.10.11" - -I -k http://localhost/test curl --header "X-Real-IP: 8.9.10.11" - -I -k http://localhost/% получаю # cat /var/log/nginx/access.log 8.9.10.11 8.9.10.11 200 /test 127.0.0.1 - 400 почему магия с форматом лога и хедерами работает на 200-х статусах и не работает на 400-х ? это такая задумка ? выглядит как баг. Илья Шипицин ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: [Unit] php-модуль, Ubuntu'шные пакеты
On Friday, 14 June 2019 14:45:25 MSK Vadim A. Misbakh-Soloviov wrote: > Что-то я хоть тресни, но не могу из gdb попасть в процесс php-модуля, чтобы > отловить его: либо если я включаю и follow=child и выключаю detach-on-fork, > то > ухожу не в те форки, что нужно (роутер, контроллер), а знаний как попасть в > нужный - не хватает :'(. > > > > > Тут, кстати, один участник рассылки в обход неё, напрямую отправил письмо о > том, что он сталкивался с таким же когда модуль был собран не под ту версию > php. > > Технически-то, так оно и есть: debug-модуль php у юнита собран под 7.0, а > "продакшн" под 7.2 > А использую я 7.1... [..] Так работать конечно не будет. У libphp нет совместимости по ABI между 7.x версиями. > > Но что-то на убунте-то как-то не хочется пересобирать вручную пакет с модулем > php на каждом сервере, куда планируется воткнуть Юнит. > > Может, тогда имеет смысл вам, как апстриму сделать пакеты "unit-php-{5.6,7- > {0,1,2,3}}? [..] Мы обычно собираем с тем, что есть в дистрибутиве. Иначе это поддерживать невозможно. Вопрос в том, откуда возникло расхождение в 7.x версиях. И откуда вообще взялся php 7.1 в убунтах? Я что-то его не вижу в https://packages.ubuntu.com/ - ни в xenial, ни в bionic. -- Валентин Бартенев ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: [Unit] php-модуль, Ubuntu'шные пакеты
Что-то я хоть тресни, но не могу из gdb попасть в процесс php-модуля, чтобы отловить его: либо если я включаю и follow=child и выключаю detach-on-fork, то ухожу не в те форки, что нужно (роутер, контроллер), а знаний как попасть в нужный - не хватает :'(. Тут, кстати, один участник рассылки в обход неё, напрямую отправил письмо о том, что он сталкивался с таким же когда модуль был собран не под ту версию php. Технически-то, так оно и есть: debug-модуль php у юнита собран под 7.0, а "продакшн" под 7.2 А использую я 7.1... Но что-то на убунте-то как-то не хочется пересобирать вручную пакет с модулем php на каждом сервере, куда планируется воткнуть Юнит. Может, тогда имеет смысл вам, как апстриму сделать пакеты "unit-php-{5.6,7- {0,1,2,3}}? ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: Отдать JSON в зависимости от тела POST'a
Здравствуйте, darksmoke. > Подскажите, может кто-то знает, есть один урл и он отдает разный JSON в > зависимости от того какая переменная в него пришла POST'ом. > Если знаете такое решение покажите пожалуйста. Теоритически скрипт на луа > может такое. Но я еще не дошел до него, может есть проще варианты? С помощью map это возможно http://nginx.org/ru/docs/http/ngx_http_map_module.html -- С уважением, Михаил mailto:postmas...@softsearch.ru ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: Лимит подключений в Windows 1024 worker connections are not enough
"while connecting to upstream" - подскажите, у вас кипэлайв до бекенда используется ? какие у вас нагрузки ? пт, 14 июн. 2019 г. в 12:24, Krelion : > *309644 maximum number of descriptors supported by select() is 1024 while > connecting to upstream > > Posted at Nginx Forum: > https://forum.nginx.org/read.php?21,284527,284528#msg-284528 > > ___ > 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: Лимит подключений в Windows 1024 worker connections are not enough
*309644 maximum number of descriptors supported by select() is 1024 while connecting to upstream Posted at Nginx Forum: https://forum.nginx.org/read.php?21,284527,284528#msg-284528 ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Лимит подключений в Windows 1024 worker connections are not enough
Добрый день! Nginx 1.15.9 для Windows конфиг, worker_processes 1; events { worker_connections 8192; } в логах: 2019/06/07 14:17:20 [alert] 2424#2720: 1024 worker_connections are not enough Как поднять количество соединений больше 1024 в версии под Windows ? В моем случае невозможно использовать Linux версию по ряду причин. Posted at Nginx Forum: https://forum.nginx.org/read.php?21,284527,284527#msg-284527 ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru