Возможно ли использовать в proxy_cache переменую?

Vitalij Satanivskij satan at ukr.net
Tue Oct 13 16:34:33 MSD 2009


Здравствуйте.

Есть желание размазивать кеш по N масивах/дисках.

В связи с етим пришла в голову идея вот такой конструкции -

server {
        listen  80;
	
	...
	...

        set $cache  cache0;
        if ($request_uri ~* "^/0/([1-3])/(.*)$") {
            set $cache  cache0;
            set $disk   disk0;
            }
        if ($request_uri ~* "^/1/([1-3])/(.*)$") {
            set $cache  cache1;
            set $disk   disk1;
            }
	....
// до 7	

	location ~ ^/[0-7]/1/(.*)$ {
	proxy_cache     $cache;
	....
	}

	location ~ ^/[0-7]/2/(.*)$ {
	proxy_cache     $cache;
	...
	}
.....
	
}


Тоесть имеем 7*3 возможных вариантов (локейшенов)

Само собой получаю ругань при проверке конфига - 
[emerg]: "proxy_cache" zone "$cache" is unknown in /usr/local/etc/nginx/nginx.conf:49
configuration file /usr/local/etc/nginx/nginx.conf test failed


Собтсвенно вопрос - есть ли шанс такого рода конструкцию завести.

Возможно ктото подскажет другие варианты ?







More information about the nginx-ru mailing list