Re: Странное взаимодействие с uWSGI

2018-02-20 Пенетрантность Slawa Olhovchenkov
On Tue, Feb 20, 2018 at 11:11:24AM -0500, VeeSot wrote: > tcpdump поможет собрать информацию если обмен идет по сокету? Я выше привел > выдержку из конфига. можно попробовать через socat. ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx

Re: Странное взаимодействие с uWSGI

2018-02-20 Пенетрантность VeeSot
tcpdump поможет собрать информацию если обмен идет по сокету? Я выше привел выдержку из конфига. Posted at Nginx Forum: https://forum.nginx.org/read.php?21,278670,278673#msg-278673 ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/m

Re: Странное взаимодействие с uWSGI

2018-02-20 Пенетрантность VeeSot
Часть конфига что отвечает за работу с uWSGI upstream yml { ip_hash; server unix:/tmp/imi3-yml.sock; } location /my_urll/ { include uwsgi_params; uwsgi_intercept_errors on; uwsgi_read_timeout 600; uwsgi_pass yml; } Posted at Nginx Forum: https

Re: Странное взаимодействие с uWSGI

2018-02-20 Пенетрантность Slawa Olhovchenkov
спечивает некую многопоточность. > Поверх всего этого добра - работает NGINX. > > И в половине случаев - всё хорошо,файлики доходят до потребителя(в нашем > случае робот Яндекс.Маркета). > Но в другой половине случаев - uWSGI отдает файлик размером 2мб, на nginx - > уже отдает файлик размер

Странное взаимодействие с uWSGI

2018-02-20 Пенетрантность VeeSot
случаев - всё хорошо,файлики доходят до потребителя(в нашем случае робот Яндекс.Маркета). Но в другой половине случаев - uWSGI отдает файлик размером 2мб, на nginx - уже отдает файлик размером в несколько КБ.И причем отдает не сразу, а через некоторое время. В логах uWSGI вижу что он передает то что

Re: Нет uwsgi set header, чем заменить?

2014-07-15 Пенетрантность S.A.N
> >Но все эти детали лучше не говорить тем кто только начинает изучать > механизмы кеширования в Nginx ) > Почему? Чтобы не пугать, раньше времени ) Posted at Nginx Forum: http://forum.nginx.org/read.php?21,251763,251837#msg-251837 ___ nginx-ru mailin

Re: Нет uwsgi set header, чем заменить?

2014-07-15 Пенетрантность Budulianin
>Но все эти детали лучше не говорить тем кто только начинает изучать механизмы кеширования в Nginx ) Почему? Posted at Nginx Forum: http://forum.nginx.org/read.php?21,251763,251835#msg-251835 ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.

Re: Нет uwsgi set header, чем заменить?

2014-07-15 Пенетрантность S.A.N
> "логика кеширования в Nginx такая же как в браузерах", - есть и > отличия: > > http://nginx.org/en/docs/http/ngx_http_fastcgi_module.html#fastcgi_cac > he_bypass > > если выполняется условие fastcgi_cache_bypass и не выполняется > условие fastcgi_no_cache - то это и будет out-of-order обновлени

Re: Нет uwsgi set header, чем заменить?

2014-07-15 Пенетрантность Gena Makhomed
On 15.07.2014 17:29, S.A.N wrote: В вашей схеме кеш контента будет валидным столько сколько вы указали Nginx и не важно что браузеры будут делать запрос чаще, Nginx будет отдавать им контент из кеша и не обращаться к вашему приложению, логика кеширования в Nginx такая же как в браузерах, я уже в

Re: Нет uwsgi set header, чем заменить?

2014-07-15 Пенетрантность Budulianin
>в общем это хороший стиль Ну сейчас все стараются следовать REST. А вот про учёт ревалидации не знал, спасибо, запомню. Обычно GET POST PUT PATCH DELETE, больше пока ничего не видел. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,251763,251827#msg-251827 __

Re: Нет uwsgi set header, чем заменить?

2014-07-15 Пенетрантность S.A.N
> >С этого и надо было начинать, они нужны обязательно если вы хотите > клиенту отдавать 304 без контента. > А можно ли создавать ETag и Last-Modified на стороне nginx и для > статики и для динамики? > > есть директива etag on; но написано что она только для статики > автоматом вычисляет его. >

Re: Нет uwsgi set header, чем заменить?

2014-07-15 Пенетрантность S.A.N
> >Я имел виду, ревалидация В приложении это - RESTful стиль. > > Не знал, насколько я знаю, обычно REST преподносят, как набор > методов(действий), которые можно выполнить с объектом и путь к этому > объекту. Да, но не только, основная идея в том, что клиент и сервер могут полностью описать своё

Re: Нет uwsgi set header, чем заменить?

2014-07-15 Пенетрантность Budulianin
>С этого и надо было начинать, они нужны обязательно если вы хотите клиенту отдавать 304 без контента. А можно ли создавать ETag и Last-Modified на стороне nginx и для статики и для динамики? есть директива etag on; но написано что она только для статики автоматом вычисляет его. Можно наверно и

Re: Нет uwsgi set header, чем заменить?

2014-07-15 Пенетрантность Budulianin
>Я имел виду, ревалидация В приложении это - RESTful стиль. Не знал, насколько я знаю, обычно REST преподносят, как набор методов(действий), которые можно выполнить с объектом и путь к этому объекту. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,251763,251823#msg-251823

Re: Нет uwsgi set header, чем заменить?

2014-07-15 Пенетрантность S.A.N
Budulianin Wrote: --- > >Это понятно, ревалидировать кеш на в приложении - это стиль RestFull > приложений, > НЕ в приложении? Я имел виду, ревалидация В приложении это - RESTful стиль. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,

Re: Нет uwsgi set header, чем заменить?

2014-07-15 Пенетрантность Budulianin
>Это понятно, ревалидировать кеш на в приложении - это стиль RestFull приложений, НЕ в приложении? Posted at Nginx Forum: http://forum.nginx.org/read.php?21,251763,251821#msg-251821 ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/

Re: Нет uwsgi set header, чем заменить?

2014-07-15 Пенетрантность S.A.N
> >те кто обновляет страницу в ручную будут получать 304 статус без > контента, > Только если в запросе, который должен закэшироваться, был > заголовок-валидатор(ETag, Last-Modified) иначе нечего будет > сравнивать. > У меня сейчас нет их и nginx отдаёт 200. С этого и надо было начинать, они нужн

Re: Нет uwsgi set header, чем заменить?

2014-07-15 Пенетрантность S.A.N
> Значит моя схема вполне жизнеспособна и не выглядит нормально? Кладём > основную нагрузку на nginx и немного на браузер. Я думаю да, но лучше проконсультироватся у разработчиков Nginx, как реагирует Nginx если кеш файлы исчезают, без его ведома, я думаю он нормально реагирует, но мало ли какие т

Re: Нет uwsgi set header, чем заменить?

2014-07-15 Пенетрантность Budulianin
>те кто обновляет страницу в ручную будут получать 304 статус без контента, Только если в запросе, который должен закэшироваться, был заголовок-валидатор(ETag, Last-Modified) иначе нечего будет сравнивать. У меня сейчас нет их и nginx отдаёт 200. Posted at Nginx Forum: http://forum.nginx.org/rea

Re: Нет uwsgi set header, чем заменить?

2014-07-15 Пенетрантность S.A.N
> Я нажимал не F5, а кнопку браузера, что видимо эквивалентно. Но я > тогда не понимаю, когда вообще юзеру поможет браузерный кэш? > Когда он будет по ссылкам ходить, только тогда из кэша браузера будет > доставаться? Да, обычные посетители сайта, обычно переходят на страницы по ссылкам, те кто об

Re: Нет uwsgi set header, чем заменить?

2014-07-15 Пенетрантность Budulianin
>Если у вас есть сторонний процесс который чистит кеш, тогда конечно можно использовать эту схему. Можно по разному чистить кэш, даже руками) Главное сам факт, того что мы можем в любой момент всё у всех актуализировать. Значит моя схема вполне жизнеспособна и не выглядит нормально? Кладём основну

Re: Нет uwsgi set header, чем заменить?

2014-07-15 Пенетрантность Budulianin
> браузер не будет делать запросы к статике Это html просто страница с текстом Content-Type: text/html; charset=UTF-8 Делаю запросы, через RestClient(апликуха хрома) и nginx получает только 1 запрос, все остальные запросы из кэша браузера достаются. Кэш браузера чищу, и только тогда nginx пишет

Re: Нет uwsgi set header, чем заменить?

2014-07-15 Пенетрантность S.A.N
> >Эта схема защитит ваше приложения от нагрузки, но она никак не сможет > актуализировать кеш быстрей чем это указанно в max-age. > Я же сказал, что мы можем чистить кэш nginx когда нам это нужно. Если у вас есть сторонний процесс который чистит кеш, тогда конечно можно использовать эту схему.

Re: Нет uwsgi set header, чем заменить?

2014-07-15 Пенетрантность S.A.N
Budulianin Wrote: --- > >Нет, на протяжении 600 секунд, браузер НЕ БУДЕТ делать запрос к > серверу вообще, потому что вы ему сказали, что кеш можно использовать > без ревалидации на протяжении 600 секунд. > > А у меня запросы идут к nginx, те бра

Re: Нет uwsgi set header, чем заменить?

2014-07-15 Пенетрантность Budulianin
>Лично я разработчик а не администратор, ... ... там и зарплаты другие и задачи интересней ) Такие решения не от меня зависят, я лишь могу предложить. >Эта схема защитит ваше приложения от нагрузки, но она никак не сможет актуализировать кеш быстрей чем это указанно в max-age. Я же сказал, что м

Re: Нет uwsgi set header, чем заменить?

2014-07-15 Пенетрантность Budulianin
:15 Content-Type:text/html; charset=UTF-8 Date:Tue, 15 Jul 2014 14:24:14 GMT Server:nginx/1.7.3 Второй ответ-запрос такой же. В логах nginx видно, что он оба запроса принял. Тк кэш у nginx был, к uwsgi он не прошёл. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,251763,251809#msg-251

Re: Нет uwsgi set header, чем заменить?

2014-07-15 Пенетрантность S.A.N
Budulianin Wrote: --- > >В этом случаи приложения должно уметь очень быстро проверять > If-Modified-Since с текущим Last-Modified, если они равны отдавать > 304, если нет отдавать новый контент и статус 200. > > Под это нужно специально готовить

Re: Нет uwsgi set header, чем заменить?

2014-07-15 Пенетрантность Budulianin
>В этом случаи приложения должно уметь очень быстро проверять If-Modified-Since с текущим Last-Modified, если они равны отдавать 304, если нет отдавать новый контент и статус 200. Под это нужно специально готовить приложение. Обычно приходит GET и отдаётся 200. А если сделать так: отдавать в кэш

Re: Нет uwsgi set header, чем заменить?

2014-07-15 Пенетрантность S.A.N
Budulianin Wrote: --- > Большое спасибо за ответ, теперь понял. > > А если браузер присылает в запросе Cache-Control: no-cache(или > max-age=0), что часто бывает, а я хочу отдавать кэш, мне как-то > игнорировать этот заголовок или если из приложе

Re: Нет uwsgi set header, чем заменить?

2014-07-15 Пенетрантность Budulianin
Большое спасибо за ответ, теперь понял. А если браузер присылает в запросе Cache-Control: no-cache(или max-age=0), что часто бывает, а я хочу отдавать кэш, мне как-то игнорировать этот заголовок или если из приложения будет ответ с Cache-Control: max-age=600, то в браузере в любом случае сохранитс

Re: Нет uwsgi set header, чем заменить?

2014-07-15 Пенетрантность S.A.N
Нет, на протяжении 600 секунд, браузер НЕ БУДЕТ делать запрос к серверу вообще, потому что вы ему сказали, что кеш можно использовать без ревалидации на протяжении 600 секунд. После истечения 600 секунд, браузер сделает запрос к серверу, передаст ему If-Modified-Since, Nginx сравнит значения If-Mod

Re: Нет uwsgi set header, чем заменить?

2014-07-15 Пенетрантность Budulianin
>S.A.N Значит, если в ответе у сервера было Cache-Control max-age=600, в течение 600 секунд, каждый запрос браузера, будет отсылать валидатор(If-modifiet-since или If-non-match) и если валидатор в кэше(nginx) такой же, то будут возвращены только заголовки(304), а спустя 600 секунд, будет просто за

Re: Нет uwsgi set header, чем заменить?

2014-07-15 Пенетрантность S.A.N
Budulianin Wrote: --- > >Зачем вы выбрали такое значения Cache-Control: max-age=600 no-cache? > > Этой строчкой я хотел сказать браузеру: держи у себя кэш 600 секунд, > но при каждом запросе отправляй заголовки(видимо If-modified-since) > Потому

Re: Нет uwsgi set header, чем заменить?

2014-07-15 Пенетрантность Budulianin
>Зачем вы выбрали такое значения Cache-Control: max-age=600 no-cache? Этой строчкой я хотел сказать браузеру: держи у себя кэш 600 секунд, но при каждом запросе отправляй заголовки(видимо If-modified-since) Потому что кэш nginx может обновиться раньше, чем пройдёт 600 секунд и тогда браузер возьмё

Re: Нет uwsgi set header, чем заменить?

2014-07-15 Пенетрантность S.A.N
Да, директивы uwsgi_cache_valid для этого и придумали, чтобы управлять кешированием, если бекенд приложения не может самостоятельно отправить правильные заголовки. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,251763,251788#msg-251788 ___ n

Re: Нет uwsgi set header, чем заменить?

2014-07-15 Пенетрантность Budulianin
>Видимо этими заголовками можно создать кэш nginx самостоятельно, те директивами Posted at Nginx Forum: http://forum.nginx.org/read.php?21,251763,251785#msg-251785 ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/n

Re: Нет uwsgi set header, чем заменить?

2014-07-15 Пенетрантность Budulianin
>если приложения не может отдавать правильные заголовки тогда вам нужно управлять кешированием через директивы в конфиге Nginx http://nginx.org/ru/docs/http/ngx_http_uwsgi_module.html#uwsgi_cache_valid вам наверно нужно так - uwsgi_cache_valid 200 10m; Видимо этими заголовками можно создать кэш ng

Re: Нет uwsgi set header, чем заменить?

2014-07-15 Пенетрантность S.A.N
>Я хочу принять ответ от uwsgi, > добавить в него пару заголовков и отдать клиенту. > Фактически добавить заголовки в ответ nginx. > Я таким образом хочу управлять кэшем. Вы таким образом сможете управлять только кешем браузера, если хотите управлять кешем Nginx, нужно чтобы ваш

Re: Нет uwsgi set header, чем заменить?

2014-07-15 Пенетрантность Budulianin
>Какой смысл добавлять заголовок в ответ uwsgi? Вероятно вы всё же хотите добавить заголовок в ответ nginx, тогда это делается с помощью add_header. Возможно я неправильно выразился. Я хочу принять ответ от uwsgi, добавить в него пару заголовков и отдать клиенту. Фактически добавить заголовк

Re: Нет uwsgi set header, чем заменить?

2014-07-15 Пенетрантность Валентин Бартенев
On Tuesday 15 July 2014 05:10:10 Budulianin wrote: > proxy_set_header задаёт заголовки. > uwsgi_param задаёт параметры. И всё это передаётся на проксируемый сервер. > > есть ещё uwsgi_pass_header он разрешает передавать запрещённые заголовки от > uwsgi. > > Но я не вижу

Re: Нет uwsgi set header, чем заменить?

2014-07-15 Пенетрантность Budulianin
proxy_set_header задаёт заголовки. uwsgi_param задаёт параметры. И всё это передаётся на проксируемый сервер. есть ещё uwsgi_pass_header он разрешает передавать запрещённые заголовки от uwsgi. Но я не вижу с помощью чего, можно добавить заголовки в ответ uwsgi. Это возможно? Posted at Nginx

Re: Нет uwsgi set header, чем заменить?

2014-07-15 Пенетрантность Budulianin
Разобрался. Нужно в каждой директиве прописывать заново include uwsgi_params; Если передаёшь свои параметры в ней. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,251763,251771#msg-251771 ___ nginx-ru mailing list nginx-ru@nginx.org http://m

Re: Нет uwsgi set header, чем заменить?

2014-07-15 Пенетрантность Budulianin
>Валентин Бартенев, Igor Sysoev Спасибо за ответы. А как правильно передать несоклько переменных в uwsgi ? До этого у меня передавалась стандартная переменная PATH_INFO, а теперь uwsgi говорит, что её нет. http { uwsgi_cache_path /var/cache/nginx/cache levels=1:2 keys_zone=static_cache:

Re: Нет uwsgi set header, чем заменить?

2014-07-15 Пенетрантность Валентин Бартенев
On Tuesday 15 July 2014 04:23:53 Budulianin wrote: > http://stackoverflow.com/questions/14133460/how-to-read-uwsgi-parameters-in-python-flask-passed-from-nginx > Вот здесь говорят, что можно создать переменную, как uwsgi параметр и > пользоваться ей. > > А другого способа нет? С

Re: Нет uwsgi set header, чем заменить?

2014-07-15 Пенетрантность Budulianin
http://stackoverflow.com/questions/14133460/how-to-read-uwsgi-parameters-in-python-flask-passed-from-nginx Вот здесь говорят, что можно создать переменную, как uwsgi параметр и пользоваться ей. А другого способа нет? Странно, что нет uwsgi_set_header. Posted at Nginx Forum: http

Re: Нет uwsgi set header, чем заменить?

2014-07-15 Пенетрантность Igor Sysoev
On 15 Jul 2014, at 12:18, Budulianin wrote: > Всем привет. > > Хочу задать заголовки. Но в доке не вижу uwsgi_set_header. > Как для uwsgi задать заголовки? http://nginx.org/en/docs/http/ngx_http_uwsgi_module.html#uwsgi_param -- Igor Sysoev http

Нет uwsgi set header, чем заменить?

2014-07-15 Пенетрантность Budulianin
Всем привет. Хочу задать заголовки. Но в доке не вижу uwsgi_set_header. Как для uwsgi задать заголовки? Posted at Nginx Forum: http://forum.nginx.org/read.php?21,251763,251763#msg-251763 ___ nginx-ru mailing list nginx-ru@nginx.org http

Re: uWSGI

2013-11-07 Пенетрантность Sergey Budnevitch
On 07.11.2013, at 18:21, dwow wrote: > Добрый день, > такой вопрос, есть бэкенд, который обрабатывает запросы, можно ли сделать > так, чтобы для некоторых локейшенов результаты работы кешировались? > Т.е. бэкенд обрабатывает > /a > /b > /c > я хочу сделать, чтобы для /b ответ кешировался. uws

uWSGI

2013-11-07 Пенетрантность dwow
Добрый день, такой вопрос, есть бэкенд, который обрабатывает запросы, можно ли сделать так, чтобы для некоторых локейшенов результаты работы кешировались? Т.е. бэкенд обрабатывает /a /b /c я хочу сделать, чтобы для /b ответ кешировался. Спасибо. Posted at Nginx Forum: http://forum.nginx.org/re

Re: uwsgi pass не раскрывает переменные?

2013-05-27 Пенетрантность Mitry Matyushkov
Maxim Dounin Wrote: --- > Hello! > > On Mon, May 27, 2013 at 12:48:38PM -0400, Mitry Matyushkov wrote: > > > Привет всем. > > > > Перевожу проект на uwsgi, столкнулся с фичей: > > > >

Re: uwsgi pass не раскрывает переменные?

2013-05-27 Пенетрантность Maxim Dounin
Hello! On Mon, May 27, 2013 at 12:48:38PM -0400, Mitry Matyushkov wrote: > Привет всем. > > Перевожу проект на uwsgi, столкнулся с фичей: > > upstream up { > server 127.0.0.1:12345; > } > > proxy_pass http://${var}up; > > работает, но при замене на: >

uwsgi pass не раскрывает переменные?

2013-05-27 Пенетрантность Mitry Matyushkov
Привет всем. Перевожу проект на uwsgi, столкнулся с фичей: upstream up { server 127.0.0.1:12345; } proxy_pass http://${var}up; работает, но при замене на: uwsgi_pass ${var}up; получаю: nginx -t nginx: [emerg] directive "uwsgi_pass" is not terminated by ";" in /etc/nginx