Всея ПЫХА epsyl adw0rd Мавр ГО Irinax http://hell.helldude.ru - это пиздец

Минификация и Gzip CSS + JS файлов.

Рубрики: (css & js minifier, nginx, Полезные штуки, Утилиты) Автор: phpdude 01-11-2008

Теги : , , , , , ,

привет все, думаю все надеются что этот блог уже умер, какбы не так :) )

Короче затея.

Мне жутко понравился nginx веб сервер.

Есть крупный проект, на котором есть много яваскриптов, ксс файлов. задача: сделать загрузку максимально быстрой и не требовательной к веб серверу.

Если бы не использовать мои методы, то пришлось бы загружать порядка 15-20 js файлов и порядка 10 css файлов.

Сейчас, я пишу ссылку на src тега script в виде и получаю файл, который является слитым из перечисленных файлов + minify +  gzip. это хорошо, очень хорошо :)

http://sitename.ru/js/images.js,jquery/jquery.js,I18n/data/ru.js
,I18n/I18n.js,jquery/plugins/jquery.jgrowl.js,jquery/plugins/
jquery.cookie.js,jquery/plugins/ui/ui.core.js,jquery/plugins/
ui/ui.sortable.js,jquery/plugins/ui/ui.slider.js,captcha.js,
editor/editor.js,jquery/plugins/jquery.autocomplete.pack.js,
index.js,tags/Tags.js,jquery/plugins/jquery.blockUI.js,slider/
Slider.js,comments/Comments.js,jquery/plugins/jquery.scrollTo.js,
swfobject.js,ping.js,favourites/
favourites.js,vote/vote.js,jquery/plugins/jquery.sprintf.js

соответственно

http://sitename.ru/css/index.css,editor.css,sortable.css,jquery.autocomplete.css,tags.css,slider.css,
comments.css,vote.css,jquery.jgrowl.css

Архитектура — есть пхп файл, который обслуживает эти запросы.

прелесть в том, что! сейчас вместо 40 запросов к серверу идет один, но я думаю что массы возразят, зато запрос — вызов пхп скрипта и лялля! :) )

Короче суть в том, что пхп скрипт только генерит файлы кеша для css,js файлов, а nginx проверяет, есть ли они, если есть — показывает их, если нет — проксирует запрос апача, а тот в свою очередь на пхп генерит эти файлы на будущее (для nginx).

Не буду таить выкладываю исходники для возведения этой шняги.

phpdude-minifier-gzip

Прелесть!

Самое то пиздатое в том, что отдается сейчас гзип версия через nginx!!!

часа 4 делал, заебался разбираться, по nginx’y не хорошей документации, а примеры окторые в интернете — гавно ебаное, они только путают :(

Необходимая конфигурация веб сервера nginx.

location ~* /(js|css)/.*\.(css|js)$ {
expires 10d;
rewrite /(css|js)/[0-9]+/(.*) /$1/$2 last;
if (-f /sites/sitename.ru/html/secure/tmp/$uri)
{
rewrite (.*) /secure/tmp$1 break;
}

if (!-f /sites/sitename.ru/html/secure/tmp/$uri)
{
proxy_pass         http://127.0.0.1:8080$uri;
break;
}
}

Писал php код по быстрому, возможны ошибки, во с виду чистенько все ;)

Спасибо кто со мной, только оставляйте комментарии, а то пишу пишу … скучно писать в никуда:)

Полезное хоть пишу то?)

УДАЧИ! НАХУЙ!!! :) )

Комментарии RSS тут:

Всего отзывов: 7 на Минификация и Gzip CSS + JS файлов.

Оставьте свой отзыв

XHTML: Вы можете использовать следующие теги: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

О САЙТЕ

Крик души может быть будет на этом сайте, а может и будет что-нибудь другое :)



Яндекс.Метрика