>Видимо этими заголовками можно создать кэш nginx самостоятельно, те директивамиby Budulianin - Nginx Mailing List - Russian
>если приложения не может отдавать правильные заголовки тогда вам нужно управлять кешированием через директивы в конфиге Nginx http://nginx.org/ru/docs/http/ngx_http_uwsgi_module.html#uwsgi_cache_valid вам наверно нужно так - uwsgi_cache_valid 200 10m; Видимо этby Budulianin - Nginx Mailing List - Russian
Всем привет. Правильно ли я понимаю, что nginx может создать кэш, только на основании полученного ответа от проксируемого сервера? Т.е. прописаны все настройки для кэша(uwsgi_cache_path и прочее) Но nginx создаст кэш только, еслиby Budulianin - Nginx Mailing List - Russian
>Какой смысл добавлять заголовок в ответ uwsgi? Вероятно вы всё же хотите добавить заголовок в ответ nginx, тогда это делается с помощью add_header. Возможно я неправильно выразился. Я хочу принять ответ от uwsgi, добавить в негоby Budulianin - Nginx Mailing List - Russian
proxy_set_header задаёт заголовки. uwsgi_param задаёт параметры. И всё это передаётся на проксируемый сервер. есть ещё uwsgi_pass_header он разрешает передавать запрещённые заголовки от uwsgi. Но я не вижу с помощью чего, можно добавить заby Budulianin - Nginx Mailing List - Russian
Разобрался. Нужно в каждой директиве прописывать заново include uwsgi_params; Если передаёшь свои параметры в ней.by Budulianin - Nginx Mailing List - Russian
>Валентин Бартенев, Igor Sysoev Спасибо за ответы. А как правильно передать несоклько переменных в uwsgi ? До этого у меня передавалась стандартная переменная PATH_INFO, а теперь uwsgi говорит, что её нет. http { uwsgi_cache_path /var/cache/by Budulianin - Nginx Mailing List - Russian
http://stackoverflow.com/questions/14133460/how-to-read-uwsgi-parameters-in-python-flask-passed-from-nginx Вот здесь говорят, что можно создать переменную, как uwsgi параметр и пользоваться ей. А другого способа нет? Странно, что нет uwsgi_set_header.by Budulianin - Nginx Mailing List - Russian
Всем привет. Хочу задать заголовки. Но в доке не вижу uwsgi_set_header. Как для uwsgi задать заголовки?by Budulianin - Nginx Mailing List - Russian
>Pragma - это костыльный заголовок который вообще не стоит использовать для кеширования Он для HTTP 1.0 В HTTP 1.1 ему на замену пришёл Cache-Control Протокол HTTP/1.0 предполагал расширение директив для заголовка Pragma, как совокупносby Budulianin - Nginx Mailing List - Russian
На самом деле незачем =) Но наверно можно узнать только по самому файлу кэша. Я немного не так понял задачу. Мне нужно узнать, какими заголовками задавать время хранения кэша, поподробнее. Я знаю, что на это влияют Expireby Budulianin - Nginx Mailing List - Russian
Но в заголовках Last-Modified и If-Modified-Since хранится последняя дата изменения файла. Эта дата не равна дате создания кэша.by Budulianin - Nginx Mailing List - Russian
Всем привет. Интересует вопрос. Как можно определить, когда был создан кэш?by Budulianin - Nginx Mailing List - Russian
>тогда вы увидите предел производительности. Хорошо, спасибо ещё раз, за помощь.by Budulianin - Nginx Mailing List - Russian
>Так может быть, есть смысл и все остальные страницы кешировать, опыт у вас уже есть. Все странички динамические, но я знаю, что есть смысл кэшить и их, но только на малый срок(5-10 минут) По крайней мере, некоторые так деby Budulianin - Nginx Mailing List - Russian
Например прописать в fstab tmpfs /var/cache/nginx/ram tmpfs defaults,nodev,nosuid,size=2G 0 0by Budulianin - Nginx Mailing List - Russian
>поставьте директиву - proxy_cache_use_stale error Поставил, вырубил приложение, на главной странице 502, а статика отдаётся, прикольно. >Так же советую настроить proxy_cache_lock on Да, я тут читал, что без неё много запросов может бытьby Budulianin - Nginx Mailing List - Russian
>Так с кешем все нормально, все что нужно кешится? Да, спасибо большое, без ваших подсказок, я бы ещё долго ковырялся. В итоге без этой строчки не работает proxy_ignore_headers Cache-Control; Похоже, приложение говорит так nginx не кешby Budulianin - Nginx Mailing List - Russian
>Страно, у меня fastcgi_cache_key стоит "$host$uri$is_args$args" и все норм Теперь поставил, всё норм, ошибся наверно. >Ваши значения в заголовках Expires и Pragma, запрещают кеширования, их нужно изменить. Expires:Wed, 10 Sep 2014 23:38:04 GMT - сентяby Budulianin - Nginx Mailing List - Russian
Ваш ключ недопустим, поставил такой proxy_cache_key $scheme$proxy_host$uri$is_args$args; Ответ: Cache-Control:max-age=5184000 Connection:keep-alive Content-Length:84280 Content-Type:application/javascript; charset=UTF-8 Date:Sat, 12 Jul 2014 23:38:04 GMT Expires:Wed, 10 Sep 2014 23:38:04 GMT Last-Modified:Thu, 01 May 2014 17:11:50 GMT Pragma:no-cacheby Budulianin - Nginx Mailing List - Russian
Куков в запросах нет. Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8 Accept-Encoding:gzip,deflate,sdch Accept-Language:ru-RU,ru;q=0.8,en-US;q=0.6,en;q=0.4 Cache-Control:max-age=0 Connection:keep-alive Host:localhost:6543 User-Agent:Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.153 Safari/537.36by Budulianin - Nginx Mailing List - Russian
Я начал разбираться с proxy_store, потому что у меня не получилось закэшировать статику при помощи proxy_cache. И сейчас опять не вызодит. Может быть proxy_cache умеет только html страниы кэшить? Вот простой конфиг. http { proxy_cache_path /varby Budulianin - Nginx Mailing List - Russian
>Nginx, будет делать запрос к Apache, Вы наверно имели в виду, поставить Apache рядом со статикой приложения, чтобы он обращался к ней напрямую, потому что у nginx нету к ней физ доступа. Если Apache будет обращаться к самому приложby Budulianin - Nginx Mailing List - Russian
>в HTML странице к именам файлов (js, img) добавлять версию например так main.js?version=1... Может быть как вариант > проксируемый сервер например Apache, на запросы статики должен отдавать заголовки Apache же откуда-то нужно брать эby Budulianin - Nginx Mailing List - Russian
>Т.е. когда я обновил всего одну картинку или js, мне нужно как-то сообщить nginx, чтобы он обновил только один определённый файл. http://nginx.org/ru/docs/http/ngx_http_proxy_module.html#proxy_cache_purge По-моему вот эта опция задает правила для запроса,by Budulianin - Nginx Mailing List - Russian
>Можете там поставить 1 год, любое приемлемое для вас значения. Мне нужно обновлять определённое значение кэша, сразу же, как я обновлю какой-то файл. Т.е. не по счётчику nginx. Т.е. когда я обновил всего одну картинку илиby Budulianin - Nginx Mailing List - Russian
>Ясно, если статику отдает проксированый сервер по HTTP, Да, ситуация такая. >В ручном режиме менять ничего не надо, в Nginx установите директиву proxy_cache_revalidate on, и Nginx сам будет делать запрос к проксированому серверу для пby Budulianin - Nginx Mailing List - Russian
>Но если у вас картинки и так лежат на том же винте в той же файл системе, тогда нет никакого смысла их копировать в другую папку, Это я понимаю, просто нет возможности отдавать их напрямую nginx. proxy_cache даст такую же скорby Budulianin - Nginx Mailing List - Russian
>У вас картинки, хранятся в файлах на том же винте где работает Nginx? Если да, тогда нет смысла их сохранять в локал файлы, по сути будет тоже самое. nginx'у не добраться к ним физически, они где-то в докере в приложении. Поэby Budulianin - Nginx Mailing List - Russian
Или proxy_cache не обязательно использовать вместе с proxy_cache_valid. Можно просто указать proxy_cache_valid, и каждый запрос будет кэшироваться? А в каком виде?by Budulianin - Nginx Mailing List - Russian