ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: минимизация .js и .css



Есть много способов сделать инвалидацию кеша, но сносить при обновлении кеш, а потом обновлять по запросу клиента, это уродство. Скрипт которому можно, что-то передать, а он что-то изменить вообще не безопасен. Лучше через inotify или по cron-у.

3 марта 2011 г. 14:14 пользователь soviet <nginx-forum@xxxxxxxx> написал:
Согласен что делать это вручную не
очень удобно. Так же при каждом запросе
пропускать через jsmin и csstidy тоже не
очень мудро, пустая трата ресурсов.
Я решил аналогичную проблему с помощью
такой логики: запрос всегда делается на
минимизированную версию архива, в
случае если это архив отсутствует,
запрос передаётся php скрипту, которые
выполняет системные команды  jsmin или
csstidy, сохраняет минимизированную
версию архива и отдаёт её серверу.
Таким образом при следующем запросе
будет читаться минимизированная
(кешированная) версия архива. Так что
при изменение исходника достаточно
просто удалить кешированный архив.

Примерно так выглядит для javasrcipt
 location ~* ^/(js/([^\-/]*\.js))$ {
   try_files $uri /build.php?fullname=$1&filename=$2;
 }

исходные архивы находятся в корневой
папке, а минимизированные с тем же
именем но в подпапке js/
директива  try_files проверяет на наличие
минимизированного архива в случае его
отсутствия передаёт запрос build.php с
именем минимизированного архива (куда
надо будет сохранить) -fullname и именем
исходного архива -filename

Posted at Nginx Forum: http://forum.nginx.org/read.php?21,179872,179892#msg-179892


_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://nginx.org/mailman/listinfo/nginx-ru

_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://nginx.org/mailman/listinfo/nginx-ru


 




Copyright © Lexa Software, 1996-2009.