ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

open_file_cache + proxy_store



Добрый день,

есть такая схема.
1-й nginx живёт на одном сервере, 2-й на другом.

Юзеры приходят за файлами на 1-й сервер и им отдаёт их 1-й nginx вот с такими 
настройками:

server {
                listen 80;
                server_name _;
                location / {
                        root /var/lib/nginx/tmp/static.blabla.ru_proxy_store;
#                       open_file_cache max=32768 inactive=45s;
#                       open_file_cache_min_uses 4;
#                       open_file_cache_valid 15;
#                       open_file_cache_errors  on;
                        open_file_cache_errors  off;
                        error_page      404 = /fetch$uri;
                }

                location /fetch {
                        internal;
                        proxy_pass http://192.168.10.3/static.blabla.ru/;
                        proxy_set_header   X-Real-IP        $remote_addr;
                        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/lib/nginx/tmp/static.blabla.ru_tmp;
                        alias   /var/lib/nginx/tmp/static.blabla.ru_proxy_store;
                }

}

Есть 2-й сервер с такими вот настройками nginx:
server {
                listen 80;
                server_name _;
                root /local/www;
                location /static.blabla.ru {
                        alias /local/www/static.blabla.ru/htdocs;
                }
}


Логика простая: если у 1-го nginx'а ничего нет, то он идёт на 2-й, где есть всё 
что нужно.


Но, хотелось бы усложнить логику так:
- если к нам пришли на 1-й nginx за файлом и его у нас нет, то сходить на 2-й 
nginx и если там этого файла тоже нет, то закешировать ошибку, что файла нигде 
нет и в течение open_file_cache_valid не отбращаться на c 1-го nginx на 2-й.

На самом деле машин с nginx'ом 1-го вида довольно много, а машин с nginx 2-го 
вида очень мало. Поэтому, если вдруг случится так, что будет на некоторой 
странице сайта ссылки на несуществующий файл, то машины 2-го вида будут 
прилично загружены обращениями к несуществующим файлам. Хочется избежать этого.


Подскажите, как этого добиться?

_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://nginx.org/mailman/listinfo/nginx-ru


 




Copyright © Lexa Software, 1996-2009.