Здравствуйте Игорь,
В доках написано:
при такой конфигурации
proxy_temp_path /spool/nginx/proxy_temp 1 2;
имя временного файла будет такого вида:
/spool/nginx/proxy_temp/7/45/00000123457
А какое имя файла будет при использовании proxy_store ?
Как я понял вот при таком конфиге:
location /images/ {
root /data/www;
error_page 404 = @fetch;
}
location @fetch {
internal;
proxy_pass http://backend;
proxy_store on;
proxy_store_access user:rw group:rw all:r;
proxy_temp_path /data/temp;
root /data/www;
}
временный файл будет существовать до тех пора, пока он кем-то
используется. Как при обработке другого запроса на тот же url nginx
узнает, что он уже есть на диске?
Как я понимаю, данная конфигурация используется для снятия нагрузки на
бэкенд у ОЧЕНЬ часто запрашиваемые url-ов.
P.S.
В этой конфигурации
location /images/ {
root /data/www;
error_page 404 = /fetch$uri;
}
location /fetch/ {
internal;
proxy_pass http://backend/;
proxy_store on;
proxy_store_access user:rw group:rw all:r;
proxy_temp_path /data/temp;
alias /data/www;
}
в директиве alias очень не хватает возможности задавать уровни
вложенности. Тогда файловый кэш легко бы реализовывался...
--
С уважением,
Михаил Монашёв, SoftSearch.ru
mailto:postmaster@xxxxxxxxxxxxx
ICQ# 166233339
http://softsearch.ru/
Без бэкапа по жизни.