Re: Как сделать бессрочный кеш большого объема?
tolyan
nginx-forum на forum.nginx.org
Вс Мар 10 08:41:38 UTC 2019
Спасибо за наводку на proxy_store. Задача такая: бэкенд обрабатывает урлы,
которые нужно кешировать:
"/svg-to-png/small/:id.png"
"/svg-to-png/images/:id.png"
Вот такой получился nginx.conf:
server {
server_name conv2.site.com ;
client_max_body_size 32m;
location /images/ {
root /var/www/d-conv;
try_files $uri /svg-to-png$uri;
}
location /small/ {
root /var/www/d-conv;
try_files $uri /svg-to-png$uri;
}
location /svg-to-png/ {
proxy_pass http://127.0.0.1:3021 ;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_store on;
proxy_store_access user:rw group:rw all:r;
proxy_temp_path /var/www/d-conv/temp;
alias /var/www/d-conv/;
}
# для всех остальных запросов
location / {
proxy_pass http://127.0.0.1:3021 ;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
Получается, по запросу get /images/id.png картинка либо берется из кеша либо
генерится, а по запросу get /svg-to-png/images/id.png дергается бэкенд и
картинка сохраняется в кеш. Все отлично.
Нет ли тут чего-нибудь неправильного, что можно улучшить? Спасибо.
Posted at Nginx Forum: https://forum.nginx.org/read.php?21,283261,283324#msg-283324
Подробная информация о списке рассылки nginx-ru