Re: двойной кэш

koka miptpatriot miptpatriot at gmail.com
Mon Sep 10 10:18:58 UTC 2012


10 сентября 2012 г., 13:23 пользователь Slava Kokorin <
slava.kokorin at gmail.com> написал:

> 10 сентября 2012 г., 10:49 пользователь koka miptpatriot
> <miptpatriot at gmail.com> написал:
> > Здравствуйте.
> >
> > На сервере есть небольшой ssd-диск и большой hdd-диск. Хочется чтобы
> nginx
> > вначале глядел в кэш на ssd, если не найдёт там, то в кэш на hdd, если не
> > найдёт там, то в обращался к апачу.
> > Пока придумал только такой неэлементарный вариант:
> >
> > server {
> >     listen 80;
> >     location /cache {
> >         proxy_cache ssd;
> >         proxy_pass http://localhost:81;
> >     }
> > }
> >
> > server {
> >     listen 81;
> >     location /cache {
> >         proxy_cache hdd;
> >         proxy_pass http://apache;
> >     }
> > }
> >
> > Может можно как-то сделать это без поднятия nginx на ещё одном порту?
>
> да, удавалось. Конфиг был при этом примерно такой (здесь только один
> диск с кешем, второй можно прикрутить по аналогии):
>
>     location / {
>         root                   /cache;
>         try_files              $uri @origin;
>         open_file_cache_errors off;
>     }
>
>     location @origin {
>         proxy_pass           http://origin_IP;
>         proxy_set_header     Host            $host;
>         proxy_set_header     X-Real-IP       $remote_addr;
>
>         proxy_store          on;
>         proxy_store_access   user:rw  group:rw  all:r;
>
>         proxy_temp_path      /cache/temp;  ## On same fs where root
> for fast mv
>         root                 /cache;
>     }
>
>
>
у proxy_store есть минус в том, что нельзя задать максимальный размер кеша.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.nginx.org/pipermail/nginx-ru/attachments/20120910/3b7c8b6d/attachment-0001.html>


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