runseoman: смотрю в Google CHROME все картинки отдаются в статусе 200
я ставлю expires 60s чтоб посмотреть работает ли вообще exires (чисто понять для себя)
картинку я же меняю, по идее должна поменятся и в хранилище файлов(то что сохраняет nginx), а потом отдать пользователю обновленную
а в заголовке html у меня <meta http-equiv="Cache-Control" content="public"/> или вы имеете ввиду PHPшный header(.......); ?
как она поменяется в хранилище если она при запросе уже есть и отдается с фронтенда (хранилища).
вам надо ротацию делать для хранение на фронтенде, тоесть удалять документы периодически если они у вас меняются. (да и если не меняются полезно хотя бы раз в день опустошать его для страховки)
runseoman: задал expires 60s; не работает почему то
скрипт отдал картинку с одним качеством обновил страницу через пару минут картинка не обновилась по идее старая должна была храниться 60 сек потом обновится при запросе
зависит от архитектуры хостинга и ограничений, в целом да должно быть быстрее но не факт.
если хотите максимально быстро отдать с сервера то делайте кэширование в nginx + оптимизация шаблона, а далее уже будет зависить от качества связи и удаленности, тоесть сети.
и не понятно что значит по вашему "открывается до 1 сек" если в браузере за 1 сек грузится то очень хорошо, если отклик от сервера 1 сек то плохо)
происходит попытка взятия файла локально (на фронтенде) из директории
/var/www/site.com
если он есть то отдается клиенту, если его нету то срабатывает обработка ошибки 404
error_page 404 = @fetch;
работает локейшен location @fetch
proxy_pass идем на бэкенд за файлом и отдаем его клиенту.
proxy_store on; разрешаем сохранить этот файл к себе локально с такими же путями, тоесть мы с ходили за файлом на бэкенд и ложим теперь его к себе локально в /var/www/site.com
вот и все.
при последующем запросе этот файл уже напрямую будет отдаваться с фронтенда из папки /var/www/site.com т.к он туда закачался функционалом proxy_store и на бэкенд уже не ходим.
время покажет, пока конкретики нету, чего то русскоязычные не особо жалуются.
да. но все сразу не есть гуд, надо например только только те файлы которые лежат X времени.
смотрю в Google CHROME
все картинки отдаются в статусе 200
я ставлю expires 60s чтоб посмотреть работает ли вообще exires (чисто понять для себя)
картинку я же меняю, по идее должна поменятся и в хранилище файлов(то что сохраняет nginx), а потом отдать пользователю обновленную
а в заголовке html
у меня <meta http-equiv="Cache-Control" content="public"/>
или вы имеете ввиду PHPшный header(.......); ?
как она поменяется в хранилище если она при запросе уже есть и отдается с фронтенда (хранилища).
вам надо ротацию делать для хранение на фронтенде, тоесть удалять документы периодически если они у вас меняются. (да и если не меняются полезно хотя бы раз в день опустошать его для страховки)
так что проблема не в expires а в не понимание.
задал expires 60s;
не работает почему то
скрипт отдал картинку с одним качеством
обновил страницу через пару минут
картинка не обновилась
по идее старая должна была храниться 60 сек потом обновится при запросе
http://nginx.org/ru/docs/http/ngx_http_headers_module.html
не верно, это всего лишь управление заголовками для указания браузеру о том сколько хранить документ в своем кэше
60сек это не нормально, поэтому браузер может запросто проигнорить.
поставьте
24h
должно появится в заголовках ответа
Expires и Cache-Control
хз чего вы хотите сделать, толком не рассказываете, может вам вообще надо отключить его.
загрузка страницы по данным http://pr-cy.ru/speed_test
в среднем 1.1-1.5 сек. это нормально?
в топку эти сервисы, включите отладку и посмотрите сколько времени у вас страничка генерируется.
моджет поможите :)
не, халявными консультациями не практикую.
зависит от архитектуры хостинга и ограничений, в целом да должно быть быстрее но не факт.
если хотите максимально быстро отдать с сервера то делайте кэширование в nginx + оптимизация шаблона, а далее уже будет зависить от качества связи и удаленности, тоесть сети.
и не понятно что значит по вашему "открывается до 1 сек" если в браузере за 1 сек грузится то очень хорошо, если отклик от сервера 1 сек то плохо)
на мегагерцы вообще можете не смотреть.
у нас РАИД зеркалирование. диски ентерпрайз классат
😂 софтваре поди.
сперва разберитесь чего там отображено.
забегая вперед - нормально, хотя не зная характер вашего трафика на этот вопрос нельзя ответить))
proxy_store это не кэширование.
смотрим документацию
"Разрешает сохранение на диск файлов. Параметр on сохраняет файлы в соответствии с путями, указанными в директивах alias или root. "
перевожу, в моем примере при запросе документа, url которого попадает под регулярку (тоесть статика)
jpg|jpeg|gif|png|ico|js|css|mp3|mpe?g|avi|zip|gz|bz2?|rar|swf
происходит попытка взятия файла локально (на фронтенде) из директории
/var/www/site.com
если он есть то отдается клиенту, если его нету то срабатывает обработка ошибки 404
error_page 404 = @fetch;
работает локейшен location @fetch
proxy_pass идем на бэкенд за файлом и отдаем его клиенту.
proxy_store on; разрешаем сохранить этот файл к себе локально с такими же путями, тоесть мы с ходили за файлом на бэкенд и ложим теперь его к себе локально в /var/www/site.com
вот и все.
при последующем запросе этот файл уже напрямую будет отдаваться с фронтенда из папки /var/www/site.com т.к он туда закачался функционалом proxy_store и на бэкенд уже не ходим.
http://nginx.org/ru/docs/http/ngx_http_proxy_module.html#proxy_store
Для кэширования используется proxy_cache а не proxy_store.
если вам нужно просто автоматически ложить статику на фронтенд с бэкенда то пойдет proxy_store
если нужно именно кэширование то proxy_cache
надеюсь понятно объяснил.
"root /var/www/site.com; тут прописывает куда кешиться файло"
это откуда брать файл а не куда кэшировать, нету тут кэширования.