Comments 27
Отличная статья, жаль что таких полезных мало…
Очистку делать по крону, тупо перебирая файлы и сравнивая время создания?
Очистку делать по крону, тупо перебирая файлы и сравнивая время создания?
0
А что в ней полезного? Немного полезного текста и огромный конфиг, по моему должно быть наоборот :)
+1
Достаточно заменить в
#динамику будем брать с frontend и если отсутствует, то скачивать
…
expires 1y;
на нужое значение
#динамику будем брать с frontend и если отсутствует, то скачивать
…
expires 1y;
на нужое значение
0
А если мне нужно, чтобы клиент кешировал в браузере на очень долго, а на сервере обновлять неактуальную информация чаще?
К примеру, я обновил CSS. Мне надо убить кеш на фронтенде, а клиенту отдать другой URL, по которому он закеширует таблицу стилей на всегда и больше не будет ее запрашивтаь.
К примеру, я обновил CSS. Мне надо убить кеш на фронтенде, а клиенту отдать другой URL, по которому он закеширует таблицу стилей на всегда и больше не будет ее запрашивтаь.
0
Пардон, чушь сморозил.
Давно в nginx не копался, старость, склероз )
Давно в nginx не копался, старость, склероз )
0
Ну достаточно в веб-приложении отдавать стиль вида вася.123.css и сделать ченить типа реврайта
0
rewrite ^(.*)/css/(.*).([0-9]).css$ $1/css/$2.css last;
т.е. на вебсервере лежать у вас будут вася.css, а сервера-кэши будут забирать уже новое имя. Собственно это задача уже системы публикации, а не серверов-кэшей. Они работают всё-же тупо на обработке 404.
т.е. на вебсервере лежать у вас будут вася.css, а сервера-кэши будут забирать уже новое имя. Собственно это задача уже системы публикации, а не серверов-кэшей. Они работают всё-же тупо на обработке 404.
0
видимо все-же rewrite ^(.*)/css/(.*).([0-9]*).css$ $1/css/$2.css last; :)
0
Так и будет. Только nginx оставит в директории кеширования два файла. Один от 123, другой от 124. Вот поэтому я и спрашиваю надо ли по крону очищать директорию. И если надо, то как это сделать просто и эффективно?
0
Очистка статики да, по крону, время модификации старше Х дней и всё. В принципе, можно не монтировать с noatime и смотреть на atime и по ней удалять. Объем как говорил небольшой, меньше полтеррабайта того, что реально запрашивают люди. Хотя вот яндекс поиск по картинкам повадился иногда заглядывать самые древние посты, но не критично, яндекса поиска по видео пока нет :)
0
Отступы не помешали бы, а вообще спасибо :)
0
Спасибо за рассказ и конфиг. Действительно, очень полезно почитать такие статьи.
Однако читать было как-то немного щекотно. «Несколько frontend… отдаются… ». Я так понимаю, вам не хотелось писать слово «фронтенд». Ну хорошо, в английском нет падежей, но есть множественное число.
«ТТХ backend» я понял только потому, что являюсь программистом и лейтенантом РВиА одновременно :-)
И получается, вы боретесь за чистоту русского от английского, но в логах пишете «Ашипка».
Будьте проще :-) Как nginx :-)
Однако читать было как-то немного щекотно. «Несколько frontend… отдаются… ». Я так понимаю, вам не хотелось писать слово «фронтенд». Ну хорошо, в английском нет падежей, но есть множественное число.
«ТТХ backend» я понял только потому, что являюсь программистом и лейтенантом РВиА одновременно :-)
И получается, вы боретесь за чистоту русского от английского, но в логах пишете «Ашипка».
Будьте проще :-) Как nginx :-)
+5
UFO just landed and posted this here
А не дублируются ли эти if-ы?
if ($request_method = POST) {
set $cached 0;
}
if ($request_method != GET) {
set $cached 0;
}
Может стоит оставить только последний?
if ($request_method = POST) {
set $cached 0;
}
if ($request_method != GET) {
set $cached 0;
}
Может стоит оставить только последний?
0
в чём смысл
if ($request_method = POST) { set $cached 0; } if ($request_method != GET) { set $cached 0; }
+1
а зачем
0
Для таких целей был и есть squid. Им прекрасно решались подобные задачи. Ну разве что теперь в большинстве случаев можно использовать один инструмент вместо нескольких.
0
Ошибочка у Вас, помимо вышеописанных мной незначительных дополнений
В разделе отдачи сохраненной статики, отсутствует директива root (наследуется с предыдущего уровня, но это не поможет), соответственно все запросы уйдут на @fetch по 404
и сама метка с ошибкой. вероятно, имелось в виду "динамикустатику будем брать с frontend и если отсутствует, то скачивать"
так же опечатка в разделе сервер
location = /500.html{
а за труд респект
В разделе отдачи сохраненной статики, отсутствует директива root (наследуется с предыдущего уровня, но это не поможет), соответственно все запросы уйдут на @fetch по 404
и сама метка с ошибкой. вероятно, имелось в виду "
так же опечатка в разделе сервер
location = /500.html
а за труд респект
0
Only those users with full accounts are able to leave comments. Log in, please.
nginx, ещё раз про кэширование