Re: Переименование URI + memcached

Valery Kholodkov valery+nginxru на grid.net.ru
Пн Янв 18 13:53:46 MSK 2010


С использование модуля eval (http://www.grid.net.ru/nginx/eval.ru.html) приблизительно так:

     server {                                                                                                                 
         [...]

         location /pub {
             eval_escalate on;
             eval $path {
               set $memcached_key "$request_uri";                                                                                     
               memcached_pass  localhost:11211;
             }

             root   /www;
             try_files /$path;                                                                                
         }                                                                                                                    
     }

С $request_uri не очень красиво, но могу исправить.

----- kozakd <nginx-forum at nginx.us> wrote:
> Всем здрасте. :)
> 
> Прошу подсказать красивое решение для земены URI (с наличием его Expiration time)
> Есть файл /www/mp4/01/0001/00001.mp4
> И по запросу http://host_name/pub/some_code_00001.mp4 нужно отдать /www/mp4/01/0001/00001.mp4
> 
> Что вроде такого
> 
> PHP:
> memcache_set($memcache_obj, '/pub/some_code_00001.mp4', 'mp4/01/0001/00001.mp4', 0, 30);
> 
> 
> 
> 
>     server {                                                                                                                 
>         listen       ******:80;                                                                                      
>         server_name  *****;                                                                                                 
>  
>        location /pub {                                                                                               
>             set $memcached_key   "$uri";                                                                                     
>             memcached_pass  localhost:11211;                                                                                 
>         }                                                                                                                    
> 
>         location / {                                                                                                         
>             root   /www;                                                                                               
>         }                                                                                                                    
>     }   
> 
> 
> Значение ключа я получаю верно, а вот как сказать nginx'у чтоб он дальше его отработал как запрос.. и отдал файл вместо значения ключа.
> 
> Заранее благодарю за помощь.


-- 
Regards,
Valery Kholodkov



Подробная информация о списке рассылки nginx-ru