[SPAM]proxy_cache и proxy_next_upstream http_404

Dmitry Sukhodoyev raven428 at gmail.com
Fri Aug 14 10:21:17 MSD 2009


а если перебирать по списку, то как тогда сделать балансировку нагрузки?

Alexey V. Karagodov wrote:
> возможно стоит попробовать перебирать апстримы не по списку, а через 
> error_page ...
> и совсем не указывать веса и даже не использовать upstream xxx {}
>
> On 13.08.2009, at 13:03, Dmitry Sukhodoyev wrote:
>
>> есть вот такой конфиг. запрашиваем с nginx файл, который есть на 
>> apa01 и которого нету на apa02. nginx тыкается в apa02, получает 404 
>> и забирает файл с apa01. так постоянно, сначала тыкается во второй 
>> бэкэнд, а потом скачивает с первого и отдаёт. если файл разложить по 
>> обоим бэкэндам, то он кешируется и отдаётся уже из кеша.
>>
>> как правильно сделать, чтобы кешировал файлы, которые есть на одном 
>> из бэкэндов в апстриме и которые нету на остальных?
>>
>> === кусь ===
>> upstream test-apa {
>> server apa01:9003 weight=1;
>> server apa02:9003 weight=2;
>> }
>> proxy_cache_key $scheme$proxy_host$request_uri;
>> proxy_cache_min_uses 1;
>> proxy_cache_valid 1d;
>> proxy_cache_path /var/tmp/nginx/cache/test levels=1:2 
>> keys_zone=test:20m inactive=1d max_size=1g;
>> server {
>> listen 1.2.3.4:80 <http://1.2.3.4:80>;
>> proxy_next_upstream error timeout http_404 http_500 http_503;
>> proxy_set_header Connection close;
>> proxy_set_header X-Forwarded-For $remote_addr;
>> server_name test.domain.ru <http://test.domain.ru>;
>> proxy_set_header Host test.domain.ru:9003 <http://test.domain.ru:9003>;
>> proxy_redirect http://test.domain.ru:9003/ http://test.domain.ru/;
>> location ~* "\.php$" {
>>  proxy_pass http://test-apa;
>> }
>> location / {
>>  proxy_cache test;
>>  proxy_pass http://test-apa;
>> }
>> }
>> === кусь ===
>>
>
>


More information about the nginx-ru mailing list