nginx балансер proxy pass разделить конфиги при балансе

shambler81 nginx-forum at nginx.us
Thu Aug 21 15:11:24 UTC 2014


Добрый день уважаемые коллеги, встал вопрос  подключить балансный  сервер 
фактически старый сервер на который заходят НС сервера будет в роли
резервного. Новый сервер на котором все так же настроено будет выступать
просто как  приоритентый в балансе бэкэнд, если  сервер отвалится то   сайт
отдается со старого серве. Баланс работает как на статику так и на
proxy_pass
Nginx  расположен на старом. считаем что он не падает.

правильно ли я понимаю ?

1. Добавляем 

http {
   upstream myapp1 {
        least_conn;
          server srv1.example.com;
          server srv2.example.com;
 }

Далее я просто подставляю в proxy_pass myapp1

Так ?

А что делать если мне нужно  изменить и правила для статики, внести
изменения в @failback  в общем по хорошему подставить другой файл конфига ?


Более полный конфиг
__________________
http {
    upstream myapp1 {
        server  10.1.119.36:8080;
         server  mysite.ru:8080
                
    }


server {
    listen       10.1.119.36:80;
    server_name  kredo-m.nichost.ru www.mysite-m.ru xn----gtbctnkl.xn--p1ai
mysite-m.ru www.xn----gtbctnkl.xn--p1ai www.mysite-m.mysite.ru
mos.mysite-m.ru;

    location / {
        proxy_pass         myapp1
        proxy_redirect     http://mysite-m.mysite.ru:8080/ /;
        proxy_redirect     http://www.mysite-m.ru:8080/ /;
        proxy_redirect     http://xn----gtbctnkl.xn--p1ai:8080/ /;
        proxy_redirect     http://mysite-m.ru:8080/ /;
        proxy_redirect     http://www.xn----gtbctnkl.xn--p1ai:8080/ /;
        proxy_redirect     http://www.mysite-m.mysite.ru:8080/ /;
        proxy_redirect     http://mos.mysite-m.ru:8080/ /;


        proxy_set_header   Host             $host;
        proxy_set_header   X-Real-IP        $remote_addr;
        proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;

        client_max_body_size       192m;
        client_body_buffer_size    128k;

        proxy_connect_timeout      90;
        proxy_send_timeout         900;
        proxy_read_timeout         900;

        proxy_buffer_size          64k;
        proxy_buffers              8 32k;
        proxy_busy_buffers_size    64k;
        proxy_temp_file_write_size 64k;
    }
   # 1
# Static files location
    location ~*
^.+\.(jpg|jpeg|gif|swf|png|ico|mp3|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|dat|avi|ppt|txt|tar|mid|midi|wav|bmp|rtf|wmv|mpeg|mpg|mp4|m4a|spx|ogx|ogv|oga|webm|weba|ogg|tbz|js)$
{
        root   /home/kredo-m/mysite-m.mysite.ru/docs;
        access_log  /var/log/mysite-m.mysite.ru.access_log  combined;
        error_page 404 = @fallback;
        log_not_found off;
        # on
        accel_htaccess_switch on;
    }


    location @fallback {
        proxy_pass  myapp1;

        proxy_set_header   Host             $host;
        proxy_set_header   X-Real-IP        $remote_addr;
        proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;

        client_max_body_size       192m;
        client_body_buffer_size    128k;

        proxy_connect_timeout      90;
        proxy_send_timeout         900;
        proxy_read_timeout         900;

        proxy_buffer_size          64k;
        proxy_buffers              8 32k;
        proxy_busy_buffers_size    64k;
        proxy_temp_file_write_size 64k;
    }
}

Posted at Nginx Forum: http://forum.nginx.org/read.php?21,252737,252737#msg-252737



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