Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: try_files video cache
Здравствуйте, Уважаемый(-ая, -ое) Алексей Бобок!
АБ> Приветствую.
АБ> Есть элементарная задача, что-то упускаю и не получается решить :)
Тривиально - вы задаёте root, в котором ваш кеш найти невозможно.
АБ> Есть 2 локейшна со стримингом (см. ниже).
АБ> Отдельный скрипт анализирует популярные файлы и копируется популярные файлы
АБ> на SSD в папку /cache/, сохраняя полный путь внутри.
АБ> Т. е.
АБ> /1/www/a.video/v2/147631/files/u147631_94593_1238.mp4
АБ> копируется в
АБ> /cache/1/www/a.video/v2/147631/files/u147631_94593_1238.mp4
АБ> Нужно добавить try_files, который сначала проверит файл в кеше (типа
АБ> /cache/$uri), если нет - отдаст из стораджа.
АБ> ## config cut
АБ> location ~* \.flv$ {
АБ> root /1/www/a.video;
АБ> access_log /var/log/nginx/video.log video;
АБ> flv;
АБ> }
АБ> location ~* \.mp4$ {
АБ> root /1/www/a.video;
АБ> mp4;
АБ> access_log /var/log/nginx/video.log video;
АБ> }
АБ> Как? :)
Решать как-то так:
location @nocache {
root /1/www/a.video;
access_log /var/log/nginx/video.log video;
location .flv { flv; }
location .mp4 { mp4; }
}
location ~* \.(mp4|flv)$ {
root /cache/1/www/a.video;
try_files $url @nocache;
access_log /var/log/nginx/video.log video;
location .flv { flv; }
location .mp4 { mp4; }
}
Предупреждаю - может не заработать. Но идея эта. Пробуйте.
--
С уважением
Andrey Repin (hell-for-yahoo@xxxxxxxx) суббота, 09.02.2013, <20:08>
_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru
|