Re: nginx + php-fpm + бесконечный цикл
Сорри, а какой смысл в таком долгом выполнении? чт, 22 июл. 2021 г., 21:10 grey : > Выставил "fastcgi_read_timeout 0s;" думая что "0" означает таймаут без > ограничений - вообще скрипт перестал работать. Поставил "30d" - получаю > ошибку, о том что значение не верно. Остановился на значении "10d" - вроде > все работает как надо. > > В принципе вопрос решен, но так ради интереса, подскажите, как задать > "таймаут без ограничений" и какое максимальное значение может у > fastcgi_read_timeout? > > Спасибо. > > Posted at Nginx Forum: > https://forum.nginx.org/read.php?21,292087,292096#msg-292096 > > ___ > 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 + php-fpm + бесконечный цикл
А что именно не получается? чт, 22 июл. 2021 г., 14:27 skeletor : > Попробуйте настроить в apache работу с php через fast_cgi и поведение будет > таким же. > > Posted at Nginx Forum: > https://forum.nginx.org/read.php?21,292087,292093#msg-292093 > > ___ > 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: Тонкости работы FastCGI (phpfpm)
вт, 13 апр. 2021 г. в 13:32, Victor Sudakov : > greenh wrote: > > Мне кажется, что так оно работать не будет. Да собственно и зачем? ПХП > > процесс в среднем случае легкий и быстрый. Отработает и умрет. Если Вы > > запускаете что то очень тяжелое по хттп запросу - это явно ошибка > > архитектуры. > > Да и определить закрытие браузера не всегда возможно. Опять таки, боюсь > > соврать, но момент, когда можно будет точно сказать, что браузер закрыт > > наступит довольно не скоро (я имею в виду TCP таймауты и пр), и в среднем > > случае существенно позже, чем скрипт отработает и умрет > > В случае таймаута да, а если клиент штатно завершил TCP соединение, > зачем тратить ресурсы на поддержание соединения от nginx к upstream? > > Хоть Wireshark в руки бери, но кто-то же из присутствующих знает теорию? > Я никогда в логах ФПМ не видел информации о том, что соединение закрыто со стороне nginx. Или не помню ( > > -- > Victor Sudakov VAS4-RIPE > http://vas.tomsk.ru/ > 2:5005/49@fidonet > ___ > 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: Тонкости работы FastCGI (phpfpm)
вт, 13 апр. 2021 г. в 13:28, Victor Sudakov : > greenh wrote: > > Боюсь ошибиться, но я думаю что он (когда узнает о том, что браузер сдох) > > просто перестанет ждать ответа на запрос от пхп но: пхп останется жить, > его > > процесс останется запущен, сокет, который он слушает останется активным и > > процессы внутри его продолжат работу. > > Почему бы сокет останется активным, если nginx закрыл соединение к > апстриму? Или nginx не закрывает соединение к апстриму, когда "браузер > сдох"? > > Сокет останется открытым, а не соединение > Вообще nginx на каждый запрос открывает новое соединение (TCP или Unix > socket) с апстримом, или всё время держит одно соединение с апстримом и > все запросы к php-fpm через это одно соединение идут? > > > Уточнить причину такого поведения, я > > думаю, стоит у разработчиков php-fpm. > > Сперва бы ответить на вопрос выше, а это вопрос по nginx. Судя по > наличию параметра max_conns у upstream, всё же имеют место быть > одновременно много соединений к одному апстриму. > > -- > Victor Sudakov VAS4-RIPE > http://vas.tomsk.ru/ > 2:5005/49@fidonet > ___ > 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: Тонкости работы FastCGI (phpfpm)
Мне кажется, что так оно работать не будет. Да собственно и зачем? ПХП процесс в среднем случае легкий и быстрый. Отработает и умрет. Если Вы запускаете что то очень тяжелое по хттп запросу - это явно ошибка архитектуры. Да и определить закрытие браузера не всегда возможно. Опять таки, боюсь соврать, но момент, когда можно будет точно сказать, что браузер закрыт наступит довольно не скоро (я имею в виду TCP таймауты и пр), и в среднем случае существенно позже, чем скрипт отработает и умрет вт, 13 апр. 2021 г. в 13:18, Victor Sudakov : > greenh wrote: > > А какое поведение вы хотите получить? > > Закрыли браузер - обслуживавший этот сеанс процесс PHP безусловно > завершился, что бы ни делал в этот момент. > > -- > Victor Sudakov VAS4-RIPE > http://vas.tomsk.ru/ > 2:5005/49@fidonet > ___ > 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: Тонкости работы FastCGI (phpfpm)
А какое поведение вы хотите получить? вт, 13 апр. 2021 г., 13:00 greenh : > Боюсь ошибиться, но я думаю что он (когда узнает о том, что браузер сдох) > просто перестанет ждать ответа на запрос от пхп но: пхп останется жить, его > процесс останется запущен, сокет, который он слушает останется активным и > процессы внутри его продолжат работу. Уточнить причину такого поведения, я > думаю, стоит у разработчиков php-fpm. > > вт, 13 апр. 2021 г. в 10:52, Victor Sudakov : > >> Aleksandr Sytar wrote: >> > >> > > Что должно >> > > произойти, когда пользователь отменил HTTP запрос, или браузер закрыл? >> > > nginx закроет соответствующее соединение с php-fpm ? А PHP-код >> продолжит >> > > работу? Или должен прерваться? >> > > >> > > Прошу прощения за сумбурное изложение, поправки и указания на неверное >> > > понимание логики работы с благодарностью принимаются. >> > > >> > > >> > > >> > Раз - https://habr.com/ru/post/179399/ >> > Двас - >> https://www.php.net/manual/ru/function.fastcgi-finish-request.php и >> > крути себе дальше в базе что надо. >> >> Я наверное плохо сформулировал вопрос, но мне как раз интересно видеть >> обратное поведение. Закрыли браузер - обслуживавший этот сеанс процесс >> PHP завершился, что бы ни делал в этот момент. >> >> А в приведенных ссылках обратную задачу пытаются решить. >> >> Антиоффтопик. nginx-то что делает в момент закрытия соединения >> клиентским браузером: закрывает ли соответствущее соединение с fastcgi >> upstream-ом? >> >> -- >> Victor Sudakov VAS4-RIPE >> http://vas.tomsk.ru/ >> 2:5005/49@fidonet >> ___ >> 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: Тонкости работы FastCGI (phpfpm)
Nginx закроет соединение, а php код будет работать до того момента, пока не наступит max_time_limit в самом пхп, либо, если он будет установлен в 0 - то безконечно. вт, 13 апр. 2021 г. в 08:11, Victor Sudakov : > Коллеги, > > Есть момент, который я не понимаю, как работает. У nginx есть upstream, > который представляет собой хост с php7.4-fpm. Допустим на PHP написали > код, который зацикливается, или спит 3 часа, или посылает SQL запрос на > 3 часа работы - короче, работать собирается долго или бесконечно. > > Вот пришел от пользователя HTTP запрос, nginx его передал php-fpm в > злополучный код, phpfpm child начал бесконечную работу... Что должно > произойти, когда пользователь отменил HTTP запрос, или браузер закрыл? > nginx закроет соответствующее соединение с php-fpm ? А PHP-код продолжит > работу? Или должен прерваться? > > Прошу прощения за сумбурное изложение, поправки и указания на неверное > понимание логики работы с благодарностью принимаются. > > -- > Victor Sudakov VAS4-RIPE > http://vas.tomsk.ru/ > 2:5005/49@fidonet > ___ > 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 -v и stdout
Господа, я прошу прощения не в stdout а, а в stderr как раз 9 декабря 2015 г., 11:05 пользователь Igor Sysoev <i...@sysoev.ru> написал: > On 09 Dec 2015, at 00:46, greenh <gre...@gmail.com> wrote: > > В процессе развертывания и дебага случайно выяснилось, что nginx -V и > nginx -v вываливают ответ в stdout. Если не секрет - зачем? )) > > > Потому что GCC, Python и Java вываливают в stderr, > а Perl, Ruby, PHP, Node.js, Apache, SQLlite3 и memcached — в stdout. > > > -- > Igor Sysoev > http://nginx.com > > > ___ > 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: Порядок обработки location в nginx
Сорри, увидел ответ в доке 9 декабря 2015 г., 15:26 пользователь greenh <gre...@gmail.com> написал: > > 9 декабря 2015 г., 12:55 пользователь Konstantin Tokarev < > annu...@yandex.ru> написал: > > >> >> 09.12.2015, 13:48, "greenh" <gre...@gmail.com>: >> > Господа, подскажите плз, что я понимаю не правильно: >> > порядок обработки location в Nginx >> > Nginx Обрабатывает 1 location, кроме тех случаев, когда в location >> задан переход в другой, например при обработке ошибочной страницы в >> именованном Location. >> > Первым nginx рассматривает location, содержащий regexp, и выбирает тот, >> который наиболее точно подходит. >> >> >> Выбирается не "наиболее подходящий", а первый совпавший regexp по порядку >> следования в конфиге >> >> http://nginx.org/ru/docs/http/ngx_http_core_module.html#location >> >> >> > Например из двух вариантов >> > ~ /media./ >> > и >> > ~ /media.+/img >> > при запросе >> > /media1/img/1.jpf должен выбираться второй location >> > >> > а при выборе >> > ~ /media/.*\.php >> > и >> > ~ \.php >> > >> > при запросе /media/test.php должен выбираться первый, вне зависимости >> от очередности расположения? >> > >> > Затем рассматриваются location без регекспов и выбирается тот, который >> наиболее точно подходит, а затем location /, если он есть >> >> >> -- >> Regards, >> Konstantin >> >> ___ >> nginx-ru mailing list >> nginx-ru@nginx.org >> http://mailman.nginx.org/mailman/listinfo/nginx-ru > > Ага, понятно, спасибо > а без regexp - тоже первый попавшийся или наиболее совпадающий? > > ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Порядок обработки location в nginx
Господа, подскажите плз, что я понимаю не правильно: порядок обработки location в Nginx Nginx Обрабатывает 1 location, кроме тех случаев, когда в location задан переход в другой, например при обработке ошибочной страницы в именованном Location. Первым nginx рассматривает location, содержащий regexp, и выбирает тот, который наиболее точно подходит. Например из двух вариантов ~ /media./ и ~ /media.+/img при запросе /media1/img/1.jpf должен выбираться второй location а при выборе ~ /media/.*\.php и ~ \.php при запросе /media/test.php должен выбираться первый, вне зависимости от очередности расположения? Затем рассматриваются location без регекспов и выбирается тот, который наиболее точно подходит, а затем location /, если он есть ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: Порядок обработки location в nginx
9 декабря 2015 г., 12:55 пользователь Konstantin Tokarev <annu...@yandex.ru> написал: > > > 09.12.2015, 13:48, "greenh" <gre...@gmail.com>: > > Господа, подскажите плз, что я понимаю не правильно: > > порядок обработки location в Nginx > > Nginx Обрабатывает 1 location, кроме тех случаев, когда в location задан > переход в другой, например при обработке ошибочной страницы в именованном > Location. > > Первым nginx рассматривает location, содержащий regexp, и выбирает тот, > который наиболее точно подходит. > > > Выбирается не "наиболее подходящий", а первый совпавший regexp по порядку > следования в конфиге > > http://nginx.org/ru/docs/http/ngx_http_core_module.html#location > > > > Например из двух вариантов > > ~ /media./ > > и > > ~ /media.+/img > > при запросе > > /media1/img/1.jpf должен выбираться второй location > > > > а при выборе > > ~ /media/.*\.php > > и > > ~ \.php > > > > при запросе /media/test.php должен выбираться первый, вне зависимости от > очередности расположения? > > > > Затем рассматриваются location без регекспов и выбирается тот, который > наиболее точно подходит, а затем location /, если он есть > > > -- > Regards, > Konstantin > > ___ > nginx-ru mailing list > nginx-ru@nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru Ага, понятно, спасибо а без regexp - тоже первый попавшийся или наиболее совпадающий? ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
nginx -v и stdout
В процессе развертывания и дебага случайно выяснилось, что nginx -V и nginx -v вываливают ответ в stdout. Если не секрет - зачем? )) ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Странности с try_files
Добрый день Подскажите плз, что происходит не так и куда смотреть Имеется несколько серверов, отдающих статический контент, и один сервер, являющийся для них мастером Делается это следующим образом: server { listen *:80; server_name img.site.com img-h10.site.com ; root /home/site.com/site.com; location / { expires 14d; root /home/site.com/img.site.com; try_files $uri $uri/ @fallback; error_log /home/site.com/logs/img.site.com-img-error.log; } location @fallback { proxy_pass http://db.site.com; proxy_store /home/site.com/img.site.com/$request_uri; proxy_cache_key $host$uri$query_string; root /home/site.com/img.site.com; proxy_store_access user:rw group:rw all:rw; error_log /home/site.com/logs/img.fallback-error.log warn; access_log /home/site.com/logs/img.fallback-access.log ; access_log /home/site.com/logs/img.fallback-count.log count; } } Но при анализе img.fallback-access.log выясняется, что один и тот же файл запрашивается много раз, хотя в ФС он физически присутствует. Что это может быть? ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: Странности с try_files
Может ли это быть связанно с русскими именами в пути и имени файла? 6 декабря 2014 г., 13:30 пользователь greenh gre...@gmail.com написал: Добрый день Подскажите плз, что происходит не так и куда смотреть Имеется несколько серверов, отдающих статический контент, и один сервер, являющийся для них мастером Делается это следующим образом: server { listen *:80; server_name img.site.com img-h10.site.com ; root /home/site.com/site.com; location / { expires 14d; root /home/site.com/img.site.com; try_files $uri $uri/ @fallback; error_log /home/site.com/logs/img.site.com-img-error.log; } location @fallback { proxy_pass http://db.site.com; proxy_store /home/site.com/img.site.com/$request_uri; proxy_cache_key $host$uri$query_string; root /home/site.com/img.site.com; proxy_store_access user:rw group:rw all:rw; error_log /home/site.com/logs/img.fallback-error.log warn; access_log /home/site.com/logs/img.fallback-access.log ; access_log /home/site.com/logs/img.fallback-count.log count; } } Но при анализе img.fallback-access.log выясняется, что один и тот же файл запрашивается много раз, хотя в ФС он физически присутствует. Что это может быть? ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: Странности с try_files
Похоже проблема в пробельных символах На диске создается путь вида images/torrents%20films, а ищется images/torrents films. И как с этим бороться? 6 декабря 2014 г., 15:06 пользователь greenh gre...@gmail.com написал: Может ли это быть связанно с русскими именами в пути и имени файла? 6 декабря 2014 г., 13:30 пользователь greenh gre...@gmail.com написал: Добрый день Подскажите плз, что происходит не так и куда смотреть Имеется несколько серверов, отдающих статический контент, и один сервер, являющийся для них мастером Делается это следующим образом: server { listen *:80; server_name img.site.com img-h10.site.com ; root /home/site.com/site.com; location / { expires 14d; root /home/site.com/img.site.com; try_files $uri $uri/ @fallback; error_log /home/site.com/logs/img.site.com-img-error.log; } location @fallback { proxy_pass http://db.site.com; proxy_store /home/site.com/img.site.com/$request_uri; proxy_cache_key $host$uri$query_string; root /home/site.com/img.site.com; proxy_store_access user:rw group:rw all:rw; error_log /home/site.com/logs/img.fallback-error.log warn; access_log /home/site.com/logs/img.fallback-access.log ; access_log /home/site.com/logs/img.fallback-count.log count; } } Но при анализе img.fallback-access.log выясняется, что один и тот же файл запрашивается много раз, хотя в ФС он физически присутствует. Что это может быть? ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: Странности с try_files
К сожалению изменить ссылки не возможно. Похоже решением будет в proxy_store прописать не $request, а urldecode от request, вот только как это сделать? 6 декабря 2014 г., 15:47 пользователь Pavel V. pavel2...@ngs.ru написал: Здравствуйте, greenh. Вы писали 6 декабря 2014 г., 19:21:40: Похоже проблема в пробельных символах На диске создается путь вида images/torrents%20films, а ищется images/torrents films. И как с этим бороться? Приведите ссылки в соответствие с именами файлов и каталогов на диске, не забывая про экранирование. https://ru.wikipedia.org/wiki/URL#.D0.9A.D0.BE.D0.B4.D0.B8.D1.80.D0.BE.D0.B2.D0.B0.D0.BD.D0.B8.D0.B5_URL -- С уважением, Pavel mailto:pavel2...@ngs.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: Странности с try_files
6 декабря 2014 г., 20:17 пользователь Pavel V. pavel2...@ngs.ru написал: Здравствуйте, greenh. Вы писали 6 декабря 2014 г., 19:54:00: К сожалению изменить ссылки не возможно. Похоже решением будет в proxy_store прописать не $request, а urldecode от request, вот только как это сделать? 1) try_files $uri 2) proxy_store /home/site.com/img.site.com/$request_uri; Ищете файлы по $uri, пишете файлы по $request_uri. Где логика? Спасибо, логично. Хотя, при отсутствии переменных в get запросе и редиректов они будут идентичны. В примере в документации http://nginx.org/ru/docs/http/ngx_http_proxy_module.html#proxy_store еще есть отсылка к переменной $original_uri. Хм, я негде не нашел, что в ней должно быть Успехов. -- С уважением, Pavel mailto:pavel2...@ngs.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: Странности с try_files
6 декабря 2014 г., 21:17 пользователь Pavel V. pavel2...@ngs.ru написал: Здравствуйте, greenh. Вы писали 7 декабря 2014 г., 0:37:13: 6 декабря 2014 г., 20:17 пользователь Pavel V. pavel2...@ngs.ru написал: Здравствуйте, greenh. Вы писали 6 декабря 2014 г., 19:54:00: К сожалению изменить ссылки не возможно. Похоже решением будет в proxy_store прописать не $request, а urldecode от request, вот только как это сделать? 1) try_files $uri 2) proxy_store /home/site.com/img.site.com/$request_uri; Ищете файлы по $uri, пишете файлы по $request_uri. Где логика? Спасибо, логично. Хотя, при отсутствии переменных в get запросе и редиректов они будут идентичны. Предполагаю, что в случае наличия в запросе символов, подлежащих экранированию, они будут различны. Можно залогировать эти переменные и посмотреть: http://nginx.org/ru/docs/http/ngx_http_log_module.html#access_log http://nginx.org/ru/docs/http/ngx_http_log_module.html#log_format я попробую,но судя по доке во всех этих переменных будет за Urlencode результат. И в результате получается вот что - в запросе идет например 'user files' , в ФС ложится 'user%%20files' и соответственно try_files ничего не находит ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: Nginx отделяет содержимое от тегов
А чем вы смотрели исходный код страницы? 11 ноября 2014 г., 15:26 пользователь Maxim Dounin mdou...@mdounin.ru написал: Hello! On Mon, Nov 10, 2014 at 02:19:07PM -0500, BamGran wrote: Доброго времени суток всем! Следующая проблема: периодически, при обращении к страницам вида http://ip-сервера/phpmyadmin/ http://xn--ip--8cdjrb0gcf/phpmyadmin/ , т.е. когда обращение идет по ip сервера, а не по домену, генерируемая страница отдается в разделенном виде. Html теги без содержимого сначала, а их содержимое после всех html тегов в конце страницы. Глюк всегда возникает при повторном обращении к url. Т.е. первый раз грузим страничку, все в прядке, заполняем форму и после нажатия на кнопку отправки получаем каку. Или просто перегружаем страничку с тем же результатом. Если ничего не делая подождать минут несколько и повторить попытку, то с высокой вероятностью получаем нормальную страницу. Имею такое чудо на дедике, где nginx стоит front-end сервером перед apache и на vps, где только nginx с php-fpm. Почему и предполагаю достаточно уверенно, что дело именно в nginx. Причем глюк проявляется как на страницах создаваемых php, так и на страницах генерируемых модулями апаче типа mod_status.so Буду благодарен за любые идеи, в какую сторону копать? Имеет смысл воспроизвести проблему в лабораторных условиях и снять dump того, что передаётся между nginx'ом и клиентом, а равно nginx'ом и бекендом (tcpdump в помощь). По результатам анализа будет понятно, где именно проблема. Пока то, что вы рассказываете, выглядит как фантастика. -- 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: store_proxy не сохраняет файлы
Эффекта ноль. Куда смотреть дальше - уже не представляю 9 ноября 2014 г., 12:44 пользователь greenh gre...@gmail.com написал: уже проставил chmod -R 777 от /home 9 ноября 2014 г., 12:42 пользователь Никита Кардашин megal...@gmail.com написал: Банальное: а права на запись в директорию есть? 9 ноября 2014 г., 15:07 пользователь greenh gre...@gmail.com написал: Proxy_store конечно, на не store_proxy 9 ноября 2014 г., 12:01 пользователь greenh gre...@gmail.com написал: Добрый день Подскажите плз, что я делаю не так имеется основной сервер хранения (storage) и фронтенд (img) на фронтенде настроено server { listen *:80; server_name img.site1.com img-a6.site1.com ; root /home/site1/site1.com; location ~* \.(jpg|jpeg|gif|png|ico|css|bmp|swf|js|html|txt)$ { root /home/site1/site1.com/; try_files $uri $uri/ @fallback; error_log /home/site1/logs/site1.com-img-error.log warn ; } location @fallback { proxy_pass http://storage.site1.com; proxy_store /home/site1/site1.com/$request_uri; root /home/site1/site1.com; proxy_store_access user:rw group:rw all:rw; error_log /home/site1/logs/fallback-error.log warn ; access_log /home/site1/logs/fallback-access.log ; } } но при этом в /home/site1/site1.com пусто и он все равно за каждым запросом обращается на storage nginx version: nginx/1.6.2 ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru -- With best regards, differentlocal (www.differentlocal.ru | differentlo...@gmail.com), System administrator. ___ 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: store_proxy не сохраняет файлы
поставил error log в debug. ВОобще пусто 10 ноября 2014 г., 11:04 пользователь greenh gre...@gmail.com написал: Эффекта ноль. Куда смотреть дальше - уже не представляю 9 ноября 2014 г., 12:44 пользователь greenh gre...@gmail.com написал: уже проставил chmod -R 777 от /home 9 ноября 2014 г., 12:42 пользователь Никита Кардашин megal...@gmail.com написал: Банальное: а права на запись в директорию есть? 9 ноября 2014 г., 15:07 пользователь greenh gre...@gmail.com написал: Proxy_store конечно, на не store_proxy 9 ноября 2014 г., 12:01 пользователь greenh gre...@gmail.com написал: Добрый день Подскажите плз, что я делаю не так имеется основной сервер хранения (storage) и фронтенд (img) на фронтенде настроено server { listen *:80; server_name img.site1.com img-a6.site1.com ; root /home/site1/site1.com; location ~* \.(jpg|jpeg|gif|png|ico|css|bmp|swf|js|html|txt)$ { root /home/site1/site1.com/; try_files $uri $uri/ @fallback; error_log /home/site1/logs/site1.com-img-error.log warn ; } location @fallback { proxy_pass http://storage.site1.com; proxy_store /home/site1/site1.com/$request_uri; root /home/site1/site1.com; proxy_store_access user:rw group:rw all:rw; error_log /home/site1/logs/fallback-error.log warn ; access_log /home/site1/logs/fallback-access.log ; } } но при этом в /home/site1/site1.com пусто и он все равно за каждым запросом обращается на storage nginx version: nginx/1.6.2 ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru -- With best regards, differentlocal (www.differentlocal.ru | differentlo...@gmail.com), System administrator. ___ 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: store_proxy не сохраняет файлы
/10 22:44:19 [debug] 60244#0: *573 http copy filter: /1.jpg? 2014/11/10 22:44:19 [debug] 60244#0: *573 http postpone filter /1.jpg? 7FFFE780 2014/11/10 22:44:19 [debug] 60244#0: *573 write old buf t:1 f:0 00080248AC80, pos 00080248AC80, size: 180 file: 0, size: 0 2014/11/10 22:44:19 [debug] 60244#0: *573 write new buf t:0 f:0 , pos , size: 0 file: 0, size: 0 2014/11/10 22:44:19 [debug] 60244#0: *573 http write filter: l:1 f:0 s:180 2014/11/10 22:44:19 [debug] 60244#0: *573 http write filter limit 0 2014/11/10 22:44:19 [debug] 60244#0: *573 writev: 180 of 180 2014/11/10 22:44:19 [debug] 60244#0: *573 http write filter 2014/11/10 22:44:19 [debug] 60244#0: *573 http copy filter: 0 /1.jpg? 2014/11/10 22:44:19 [debug] 60244#0: *573 http finalize request: 0, /1.jpg? a:1, c:1 2014/11/10 22:44:19 [debug] 60244#0: *573 set http keepalive handler 2014/11/10 22:44:19 [debug] 60244#0: *573 http close request 2014/11/10 22:44:19 [debug] 60244#0: *573 http log handler 2014/11/10 22:44:19 [debug] 60244#0: *573 free: 000802494000 2014/11/10 22:44:19 [debug] 60244#0: *573 free: 00080247, unused: 8 2014/11/10 22:44:19 [debug] 60244#0: *573 free: 00080248A000, unused: 44 2014/11/10 22:44:19 [debug] 60244#0: *573 free: 000802406800 2014/11/10 22:44:19 [debug] 60244#0: *573 hc free: 0 2014/11/10 22:44:19 [debug] 60244#0: *573 hc busy: 0 2014/11/10 22:44:19 [debug] 60244#0: *573 tcp_nodelay 2014/11/10 22:44:19 [debug] 60244#0: *573 reusable connection: 1 2014/11/10 22:44:19 [debug] 60244#0: *573 event timer add: 324: 65000:1415648724954 2014/11/10 22:44:20 [debug] 60244#0: *573 http empty handler 2014/11/10 22:45:24 [debug] 60244#0: *573 event timer del: 324: 1415648724954 2014/11/10 22:45:24 [debug] 60244#0: *573 http keepalive handler 2014/11/10 22:45:24 [debug] 60244#0: *573 close http connection: 324 2014/11/10 22:45:24 [debug] 60244#0: *573 reusable connection: 0 2014/11/10 22:45:24 [debug] 60244#0: *573 free: 2014/11/10 22:45:24 [debug] 60244#0: *573 free: 0008025AC000, unused: 0 2014/11/10 22:45:24 [debug] 60244#0: *573 free: 0008025AC100, unused: 120 10 ноября 2014 г., 11:15 пользователь Валентин Бартенев vb...@nginx.com написал: On Monday 10 November 2014 11:12:52 greenh wrote: поставил error log в debug. ВОобще пусто [..] Помимо этого nginx должен быть собран с опцией --with-debug. Смотрите документацию: http://nginx.org/r/error_log/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: store_proxy не сохраняет файлы
Валентин, это оно, спасибо. Может вы еще подскажите, как заставить nginx не передавать дальше if_modify_since и тому подобное, чтобы хранилище всегда отдавало ответ, а не 304? 10 ноября 2014 г., 23:10 пользователь Валентин Бартенев vb...@nginx.com написал: On Monday 10 November 2014 21:52:01 greenh wrote: [..] Вот логи на 1.jpg: Куда смотреть дальше? [..] 2014/11/10 22:44:19 [debug] 60244#0: *573 recv: eof:0, avail:175, err:0 2014/11/10 22:44:19 [debug] 60244#0: *573 recv: fd:49 175 of 4096 2014/11/10 22:44:19 [debug] 60244#0: *573 http proxy status 304 304 Not Modified [..] 304-ый ответ не содержит тела. Сохранять нечего. -- Валентин Бартенев ___ 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
store_proxy не сохраняет файлы
Добрый день Подскажите плз, что я делаю не так имеется основной сервер хранения (storage) и фронтенд (img) на фронтенде настроено server { listen *:80; server_name img.site1.com img-a6.site1.com ; root /home/site1/site1.com; location ~* \.(jpg|jpeg|gif|png|ico|css|bmp|swf|js|html|txt)$ { root /home/site1/site1.com/; try_files $uri $uri/ @fallback; error_log /home/site1/logs/site1.com-img-error.log warn ; } location @fallback { proxy_pass http://storage.site1.com; proxy_store /home/site1/site1.com/$request_uri; root /home/site1/site1.com; proxy_store_access user:rw group:rw all:rw; error_log /home/site1/logs/fallback-error.log warn ; access_log /home/site1/logs/fallback-access.log ; } } но при этом в /home/site1/site1.com пусто и он все равно за каждым запросом обращается на storage nginx version: nginx/1.6.2 ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: store_proxy не сохраняет файлы
Proxy_store конечно, на не store_proxy 9 ноября 2014 г., 12:01 пользователь greenh gre...@gmail.com написал: Добрый день Подскажите плз, что я делаю не так имеется основной сервер хранения (storage) и фронтенд (img) на фронтенде настроено server { listen *:80; server_name img.site1.com img-a6.site1.com ; root /home/site1/site1.com; location ~* \.(jpg|jpeg|gif|png|ico|css|bmp|swf|js|html|txt)$ { root /home/site1/site1.com/; try_files $uri $uri/ @fallback; error_log /home/site1/logs/site1.com-img-error.log warn ; } location @fallback { proxy_pass http://storage.site1.com; proxy_store /home/site1/site1.com/$request_uri; root /home/site1/site1.com; proxy_store_access user:rw group:rw all:rw; error_log /home/site1/logs/fallback-error.log warn ; access_log /home/site1/logs/fallback-access.log ; } } но при этом в /home/site1/site1.com пусто и он все равно за каждым запросом обращается на storage nginx version: nginx/1.6.2 ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: store_proxy не сохраняет файлы
уже проставил chmod -R 777 от /home 9 ноября 2014 г., 12:42 пользователь Никита Кардашин megal...@gmail.com написал: Банальное: а права на запись в директорию есть? 9 ноября 2014 г., 15:07 пользователь greenh gre...@gmail.com написал: Proxy_store конечно, на не store_proxy 9 ноября 2014 г., 12:01 пользователь greenh gre...@gmail.com написал: Добрый день Подскажите плз, что я делаю не так имеется основной сервер хранения (storage) и фронтенд (img) на фронтенде настроено server { listen *:80; server_name img.site1.com img-a6.site1.com ; root /home/site1/site1.com; location ~* \.(jpg|jpeg|gif|png|ico|css|bmp|swf|js|html|txt)$ { root /home/site1/site1.com/; try_files $uri $uri/ @fallback; error_log /home/site1/logs/site1.com-img-error.log warn ; } location @fallback { proxy_pass http://storage.site1.com; proxy_store /home/site1/site1.com/$request_uri; root /home/site1/site1.com; proxy_store_access user:rw group:rw all:rw; error_log /home/site1/logs/fallback-error.log warn ; access_log /home/site1/logs/fallback-access.log ; } } но при этом в /home/site1/site1.com пусто и он все равно за каждым запросом обращается на storage nginx version: nginx/1.6.2 ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru -- With best regards, differentlocal (www.differentlocal.ru | differentlo...@gmail.com), System administrator. ___ 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 возвращать заголовки Last-Modified и If-Modified-Since?
Если я все правильно понял, то указанные заголовки возвращаются исходя из даты изменения файла. Поскольку пхп возвращает динамический контент, то такой информации у nginx нет и быть не может, и соответственно, ответственность за заголовки лежит на бекенде 09.11.2014 20:33 пользователь Sferg nginx-fo...@nginx.us написал: Здравствуйте, господа. Установлена связка nginx + php-fpm. При обращении к статичному контенту (html, jpg и т.д.) заголовок Last-Modified возвращается нормально, но не возвращается If-Modified-Since. Если же обращаюсь к динамичному контенту (php), то ни один из этих заголовков не возвращается. Подскажите, пожалуйста, каким образом можно заставить nginx возвращать заголовки Last-Modified и If-Modified-Since? В качестве средства проверки использую сайт http://last-modified.com/ru/if-modified-since.html. Вот мой конфиг nginx: user www-data www-data; worker_processes 2; worker_cpu_affinity 0101 1010; worker_rlimit_nofile 8192; worker_priority -5; timer_resolution 100ms; error_log /var/log/nginx/error.log warn; pid /var/run/nginx.pid; events { worker_connections 2048; multi_accept on; accept_mutex on; use epoll; } http { include mime.types; default_type application/octet-stream; index index.html index.htm index.php; upstream example.com { server unix:/var/run/php5-fpm_example.com.sock max_fails=3 fail_timeout=3s; } server { listen *:80; server_name example.com; root /home/example.com/www; access_log /var/log/nginx/access.log; location ~ ^.+\.php(?:/.*)?$ { fastcgi_pass example.com; include fastcgi_params; fastcgi_split_path_info ^(.+?\.php)(/.*)$; if ($uri ~ ^(?script_name.+\.php)?(?path_info/.*)?$) {} set $path_info_final $path_info; if ($fastcgi_path_info != '') { set $path_info_final $fastcgi_path_info; } fastcgi_param PATH_INFO $path_info_final; set $script_name_final '/index.php'; if ($script_name != '') { set $script_name_final $script_name; } fastcgi_param SCRIPT_FILENAME $document_root$script_name_final; if (!-e $document_root$script_name_final) { return 404; } fastcgi_param SCRIPT_NAME $script_name_final; set $request_uri_final $request_uri; if ($path_info_final != '') { set $request_uri_final $path_info_final$is_args$args; } fastcgi_param REQUEST_URI $request_uri_final; fastcgi_index index.php; fastcgi_next_upstream error timeout; fastcgi_keep_conn on; fastcgi_hide_header X-Powered-By; } location / { index index.html index.htm index.php; try_files $uri $uri/ /index.html /index.htm /index.php; } location /blog { try_files $uri $uri/ /blog/index.php?q=$uri$args; } location ~ \.(htc|js|js2|js3|js4)$ { expires 31536000s; add_header Pragma public; add_header Cache-Control max-age=31536000, public, must-revalidate, proxy-revalidate; } location ~ \.(html|htm|rtf|rtx|svg|svgz|txt|xsd|xsl|xml)$ { expires 3600s; add_header Pragma public; add_header Cache-Control max-age=3600, public, must-revalidate, proxy-revalidate; } location ~ \.(asf|asx|wax|wmv|wmx|avi|bmp|class|divx|doc|docx|eot|exe|gif|gz|gzip|ico|jpg|jpeg|jpe|json|mdb|mid|midi|mov|qt|mp3|m4a|mp4|m4v|mpeg|mpg|mpe|mpp|otf|odb|odc|odf|odg|odp|ods|odt|ogg|pdf|pot|pps|ppt|pptx|ra|ram|svg|svgz|swf|tar|tif|tiff|ttf|ttc|wav|wma|wri|xla|xls|xlsx|xlt|xlw|zip)$ { expires 31536000s; add_header Pragma public; add_header Cache-Control max-age=31536000, public, must-revalidate, proxy-revalidate; } } } Posted at Nginx Forum: http://forum.nginx.org/read.php?21,254706,254706#msg-254706 ___ 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: Странное поведение и 502 ошибка
Сорри, вопрос решился перезапуском апача. Мистика. 25 апреля 2014 г., 11:20 пользователь greenh gre...@gmail.com написал: Добрый день Подскажите плз, куда смотреть Имеется nginx/1.4.1 на centos, стоящий фронтендом перед апачем Вчера заметили странную вещь - при обращении к серверу некоторых сервисов, возвращающих ответ POST запросом (text.ru) nginx выдает 502 ошибку, при этом в логах вот что access.log POST /uniq_news.php HTTP/1.1 502 172 - - - r= uid=xtext_unique=100.00json_result=%7B%22date_check%22%3A%2225.04.2014+11%3A37%3A08%22%2C%22unique%22%3A100%2C%22urls%22%3A%5B%5D%7D error.log 2014/04/25 10:36:58 [error] 6572#0: *4783 upstream prematurely closed connection while reading response header from upstream, client: 37.187.71.37, server: b2blogger.com, request: POST /uniq_news.php HTTP/1.1, upstream: http://109.205.246.71:80/uniq_news.php;, host: b2blogger.com При этом, если послать аналогичный запрос из браузера - все отрабатывается нормально. Что это может быть? ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: Кроме index.php, другие php файлы были не доступны для запуска / nginx
19 февраля 2014 г., 16:31 пользователь Валентин Бартенев vb...@nginx.comнаписал: On Wednesday 19 February 2014 01:46:51 zzakirow wrote: Пожалуйста, подскажите как настроить так, что бы php файлы были не доступны для запуска, кроме index.php. [..] Убрать их из зоны видимости веб-сервера. Зачем вы их туда положили? К сожалению админы не всегда могут принимать решения об архитектуре проекта ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
PHP ошибки в nginx error log
Добрый день Имеется связка nginx/1.4.2+php5-fpm (PHP 5.3.27) Очень хочется при display_errors=off заставить php ошибки ложиться в nginx error.log. Единственный кривой способ, который я смог использовать - это через fastcgi_param указать error_log=nginx-error.log Но при этом я получаю два разных формата записи в лог, что оченьнеудобно для парсинга. И вообще как то криво Подскажите плз, как это можно седлать по человечьи? [global] pid = run/php-fpm.pid error_log = /var/log/php-fpm.log [project] security.limit_extensions = .php .html listen = /home/project/run/socket listen.backlog = -1 user = project group = project pm = dynamic pm.max_children = 10 pm.start_servers = 2 pm.min_spare_servers = 1 pm.max_spare_servers = 10 catch_workers_output = yes [PHP] date.timezone = Europe/Moscow display_errors=Off magic_quotes_gpc=Off upload_max_filesize = 20M post_max_size = 10M error_log = /home/php_error.log log_errors = on fastcgi.logging = 1 max_execution_time = 600 max_input_time = 600 magic_quotes_gpc = Off memory_limit = 256M file_uploads = On post_max_size = 20M max_file_uploads = 20 extension=mcrypt.so extension=/usr/local/lib/php/20090626/mcrypt.so php_memory_limit = 200M ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: Странное кешрование в nginx
29 ноября 2013 г., 18:31 пользователь j...@jdwuzhere.ru написал: APC apc который в Php? странное поведение.. On 29 нояб. 2013 г., at 20:10, greenh gre...@gmail.com wrote: Добрый день подскажите плз, что это может быть за кеширование и кто за него отвечает создаю файл 1.php кладу в него ЛЮБОЙ контент, допустим 12345 открываю в браузере, и вижу 12345 попытка изменить файл не приводит к измеению отдачи в логах так же не меняется размер перезагрузка nginx так же ничего не дает /usr/local/etc/nginx # nginx -v nginx version: nginx/1.4.3 вот конфиг user www www; worker_processes 2; worker_rlimit_nofile 32768; pid /var/run/nginx.pid; error_log /dev/null; events { worker_connections 32768; use kqueue; } http { fastcgi_cache off; fastcgi_store off; default_type application/octet-stream; client_header_timeout 600; client_body_timeout 600; send_timeout 1200; proxy_read_timeout 180; proxy_connect_timeout 180; proxy_send_timeout 180; proxy_buffer_size 8k; proxy_buffers 4 32k; proxy_buffering off; proxy_cache off; proxy_busy_buffers_size 64k; proxy_temp_file_write_size 256k; gzip on; gzip_min_length 1100; gzip_buffers 4 32k; gzip_types text/plain application/x-javascript text/css text/php text/x-php application/php application/x-php application/x-httpd-php application/x-httpd-php-source; client_max_body_size 50m; client_body_buffer_size 128k; client_header_buffer_size 1k; large_client_header_buffers 4 4k; sendfile on; tcp_nopush on; tcp_nodelay on; output_buffers 1 32k; postpone_output 1460; lingering_time 30; lingering_timeout 6; reset_timedout_connection on; keepalive_timeout 5; optimize_server_names on; server_names_hash_bucket_size 64; include mime.types; server { listen *:80; server_name stat; root /home/client/staе; auth_basicRestricted; auth_basic_user_file /home/client/stat/.htpasswd; location / { fastcgi_pass unix:/home/client/run/socket; fastcgi_index index.php; fastcgi_param PHPRC /home/client/php; fastcgi_param SCRIPT_FILENAME /home/client/stat$fastcgi_script_name; include fastcgi_params; } error_log /home/client/logs/stat-error.log; access_log /home/client/logs/stat-access.log; } } ___ 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