>тогда вы увидите предел производительности.
Хорошо, спасибо ещё раз, за помощь.
Posted at Nginx Forum:
http://forum.nginx.org/read.php?21,251675,251713#msg-251713
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/n
> Просто я пока не знаю других способов, кроме как монтировать в память,
> но может они есть?
Если у вас SSD, или отдача статика происходит за 5-15ms, смысла забирать
память под статику я особо не вижу, лучше её отдать приложению и/или БД, но
опять же проведите нагрузочное тестирования с макс уник
>Так может быть, есть смысл и все остальные страницы кешировать, опыт у вас
уже есть.
Все странички динамические, но я знаю, что есть смысл кэшить и их, но только
на малый срок(5-10 минут)
По крайней мере, некоторые так делают.
Но такие решения зависят не от меня, я всего лишь Junior разраб. Я уж
> Поставил, вырубил приложение, на главной странице 502, а статика
> отдаётся, прикольно.
Так может быть, есть смысл и все остальные страницы кешировать, опыт у вас
уже есть.
> Мне ещё нужно рассмотреть вариант хранения кэша в памяти.
> Если я каталог в который nginx пишет, просто монтирую в памя
Например прописать в fstab
tmpfs /var/cache/nginx/ram tmpfs defaults,nodev,nosuid,size=2G 0 0
Posted at Nginx Forum:
http://forum.nginx.org/read.php?21,251675,251709#msg-251709
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailm
>поставьте директиву - proxy_cache_use_stale error
Поставил, вырубил приложение, на главной странице 502, а статика отдаётся,
прикольно.
>Так же советую настроить proxy_cache_lock on
Да, я тут читал, что без неё много запросов может быть лишних.
Мне ещё нужно рассмотреть вариант хранения кэша в
> В итоге без этой строчки не работает proxy_ignore_headers
> Cache-Control;
>
> Похоже, приложение говорит так nginx не кешить и он не кэшит.
> А эта строчка игнорирует заголовок и nginx кэшит.
Да, так и есть.
> А как проверить, что именно из кэша отдаётся статика, а не к
> приложению идёт запр
>Так с кешем все нормально, все что нужно кешится?
Да, спасибо большое, без ваших подсказок, я бы ещё долго ковырялся.
В итоге без этой строчки не работает proxy_ignore_headers Cache-Control;
Похоже, приложение говорит так nginx не кешить и он не кэшит.
А эта строчка игнорирует заголовок и nginx
Спрятать Pragma:no-cache, можно директивой proxy_hide_header
http://nginx.org/ru/docs/http/ngx_http_proxy_module.html#proxy_hide_header
Так с кешем все нормально, все что нужно кешится?
Posted at Nginx Forum:
http://forum.nginx.org/read.php?21,251675,251705#msg-251705
__
>Страно, у меня fastcgi_cache_key стоит "$host$uri$is_args$args" и все норм
Теперь поставил, всё норм, ошибся наверно.
>Ваши значения в заголовках Expires и Pragma, запрещают кеширования, их
нужно изменить.
Expires:Wed, 10 Sep 2014 23:38:04 GMT - сентябрь.
Сделал вот так
http {
proxy_cache_pat
Budulianin Wrote:
---
> Ваш ключ недопустим, поставил такой proxy_cache_key
> $scheme$proxy_host$uri$is_args$args;
Страно, у меня fastcgi_cache_key стоит "$host$uri$is_args$args" и все норм
>
> Ответ:
>
> Cache-Control:max-age=5184000
> Connect
Ваш ключ недопустим, поставил такой 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
Заголовки запроса не так интересны, вы напишите здесь, HTTP заголовки ответа
от вашего приложения.
И назначите такой ключ для кеша
proxy_cache_key "$host$uri$is_args$args"
Posted at Nginx Forum:
http://forum.nginx.org/read.php?21,251675,251701#msg-251701
Куков в запросах нет.
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
Я начал разбираться с proxy_store, потому что у меня не получилось
закэшировать статику при помощи proxy_cache.
И сейчас опять не вызодит. Может быть proxy_cache умеет только html страниы
кэшить?
Вот простой конфиг.
http {
proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=static_cache:1
> Статика находится в самом приложении и достать в отдельную директорию
> её нельзя. Поэтому ищу решения с кэшем nginx.
Тогда все нормально, вам просто нужно настроить механизм кеширования в
Nginx, если ваше приложения общается с Nginx по HTTP тогда Apache конечно
ненужен.
Posted at Nginx Forum:
>Nginx, будет делать запрос к Apache,
Вы наверно имели в виду, поставить Apache рядом со статикой приложения,
чтобы он обращался к ней напрямую, потому что у nginx нету к ней физ
доступа.
Если Apache будет обращаться к самому приложению, которое отдаёт статику, то
это может делать и сам nginx, но
> Если я правильно понял, то придёт запрос на статику к nginx он его
> отправит к Apache, Apache сделает запрос заголовка Last-Modified,
> добавит к нему max-age=1 и тогда nginx будет повторять эту цепочку
> каждую секунду.
>
> По-моему слишком закручено, для такой задачи.
Nginx, будет делать зап
>в HTML странице к именам файлов (js, img) добавлять версию например так
main.js?version=1...
Может быть как вариант
> проксируемый сервер например Apache, на запросы статики должен отдавать
заголовки
Apache же откуда-то нужно брать эти заголовки, получается ему нужно
опрашивать приложение.
Если
> Мне нужно обновлять определённое значение кэша, сразу же, как я
> обновлю какой-то файл. Т.е. не по счётчику nginx.
>
> Т.е. когда я обновил всего одну картинку или js, мне нужно как-то
> сообщить nginx, чтобы он обновил только один определённый файл.
> Вот такую возможность мне нужно реализоват
>Т.е. когда я обновил всего одну картинку или js, мне нужно как-то сообщить
nginx, чтобы он обновил только один определённый файл.
http://nginx.org/ru/docs/http/ngx_http_proxy_module.html#proxy_cache_purge
По-моему вот эта опция задает правила для запроса, после отправки которого
чистится определё
>Можете там поставить 1 год, любое приемлемое для вас значения.
Мне нужно обновлять определённое значение кэша, сразу же, как я обновлю
какой-то файл. Т.е. не по счётчику nginx.
Т.е. когда я обновил всего одну картинку или js, мне нужно как-то сообщить
nginx, чтобы он обновил только один определё
> Спасибо за советы, а как это будет происходить?
> Если я например поменял только один файл js. То как nginx узнает, что
> нужно его обновить в кэше?
> Получается, что nginx постоянно будет делать запрос к проксированному
> серверу и спрашивать его заголовки If-Modified-Since” и
> “If-None-Match”
>Ясно, если статику отдает проксированый сервер по HTTP,
Да, ситуация такая.
>В ручном режиме менять ничего не надо, в Nginx установите директиву
proxy_cache_revalidate on, и Nginx сам будет делать запрос к проксированому
серверу для получения новой версии файла.
Спасибо за советы, а как это буде
> >Но если у вас картинки и так лежат на том же винте в той же файл
> системе, тогда нет никакого смысла их копировать в другую папку,
> Это я понимаю, просто нет возможности отдавать их напрямую nginx.
>
> proxy_cache даст такую же скорость, как и proxy_store ?
> Просто мне ещё нужно будет выборо
>Но если у вас картинки и так лежат на том же винте в той же файл системе,
тогда нет никакого смысла их копировать в другую папку,
Это я понимаю, просто нет возможности отдавать их напрямую nginx.
proxy_cache даст такую же скорость, как и proxy_store ?
Просто мне ещё нужно будет выборочно обновлят
proxy_cache, полностью сохраняет HTTP ответ от проксированого сервера, в
локал файл и следующие запросы отдает из этого локал файла.
Но если у вас картинки и так лежат на том же винте в той же файл системе,
тогда нет никакого смысла их копировать в другую папку, потому что скорость
отдачи будет так
>У вас картинки, хранятся в файлах на том же винте где работает Nginx?
Если да, тогда нет смысла их сохранять в локал файлы, по сути будет тоже
самое.
nginx'у не добраться к ним физически, они где-то в докере в приложении.
Поэтому их надо как-то кэшировать.
А чем proxy_cache_valid будет отличать
> но картинки так кэшировать не
> получилось.
У вас картинки, хранятся в файлах на том же винте где работает Nginx?
Если да, тогда нет смысла их сохранять в локал файлы, по сути будет тоже
самое.
Posted at Nginx Forum:
http://forum.nginx.org/read.php?21,251675,251683#msg-251683
Или proxy_cache не обязательно использовать вместе с proxy_cache_valid.
Можно просто указать proxy_cache_valid, и каждый запрос будет кэшироваться?
А в каком виде?
Posted at Nginx Forum:
http://forum.nginx.org/read.php?21,251675,251682#msg-251682
___
Подключил mime типы nginx и всё стало норм. Только charset ещё как-то надо
добавить.
>S.A.N
Это нужно использовать вместе с proxy_cache, если я правильно понимаю.
Я вчера пытался сделать на основе этого, у меня получилось кэшировать JSON
который отдавал сервак, но картинки так кэшировать не полу
> proxy_storeon;
Может, лучше сделать через кеширования а не дублирования контента?
Вот что вам нужно
http://nginx.org/ru/docs/http/ngx_http_proxy_module.html#proxy_cache_valid
Posted at Nginx Forum:
http://forum.nginx.org/read.php?21,251675,251680#msg-251680
__
Хотя нет, Content-Type он определяет, только без charset=UTF-8
Непонятно, почему браузер не распознаёт такие js файлы(из кэша nginx) он их
принимает, но ни стилей(css) ни js не работают.
Posted at Nginx Forum:
http://forum.nginx.org/read.php?21,251675,251679#msg-251679
_
> Content-Type: application/javascript; charset=UTF-8
там так же может быть картинка или css файл, поэтому Content-type уже другой
будет
Можно разделить на разные location по Content-type, но можно ли всё в одном
location, чтобы nginx сам понимал?
Posted at Nginx Forum:
http://forum.nginx.org/r
>Но если почистить кэш браузера, то nginx ничего не отдаёт,
поправочка - отдаёт, из кэша(root /var/cache/nginx;), но с Content-Type:
text/plain
Поэтому не работает, так как нужно. Нужно как-то изменить Content-Type
Как nginx должен понять, что он отдаёт js и нужно выставить Content-Type:
applicat
Все привет.
Решил попробовать proxy_store. Но возникли проблемы.
Я хочу при помощи него, кэшировать статику.
Составил конфигурацию для nginx/1.1.19:
http {
server {
listen 6543;
location / {
proxy_pass http://localhost:8080;
}
location /static/
On Saturday 12 July 2014 06:13:43 nNgzlTtv3k5lzmKRvlmS22tSl8sJr68k wrote:
> Да, действительно странно, сегодня пробую вчерашний тест - работает как и у
> вас. Вчера тестировал на версии 1.4.x, под конец обновился, nginx
> перезапускал руками, написало [OK]. Может каким-то магическим образом не
> пе
Да, действительно странно, сегодня пробую вчерашний тест - работает как и у
вас. Вчера тестировал на версии 1.4.x, под конец обновился, nginx
перезапускал руками, написало [OK]. Может каким-то магическим образом не
перезапустился.
Однако попробовал включить на живом сайте - снова проблемы: в error
38 matches
Mail list logo