Nginx 부하 균형 높 은 사용 가능 한 설정 keepalived

6939 단어 nginx부하 균형
Nginx 부하 균형 높 은 설치 keepalived
마스터 nginx
주 nginx 아래 / etc / keepalived / keepalived. conf 파일 수정
! Configuration File for keepalived

#    
global_defs {
   notification_email {  #  keepalived          email    ,    
     XXX@XXX.com
   }
   notification_email_from XXX@XXX.com  #     
   #smtp_server XXX.smtp.com #  smtp     
   #smtp_connect_timeout 30 #  smtp      
   router_id LVS_DEVEL                                    #  keepalived       
}

vrrp_instance VI_1 { 
    state MASTER           #     MASTER     BACKUP
    interface eth0         #         
    virtual_router_id 51   #     virtual_router_id    
    priority 100           #MASTER     BACKUP   BACKUP 99 
    advert_int 1           #MASTER BACKUP                ,    
    authentication {       #    
        auth_type PASS     #         
        auth_pass 8888
    }
    virtual_ipaddress {    #  vip
        192.168.101.100       #      IP,    
    }
}

nginx
준비 nginx 아래 / etc / keepalived / keepalived. conf 파일 설정 을 수정 할 때 주의: state 를 BACKUP 으로 수정 해 야 합 니 다. priority 는 MASTER 보다 낮 고 virtualrouter_id 와 master 의 값 이 일치 합 니 다.
! Configuration File for keepalived

#    
global_defs {
   notification_email {  #  keepalived          email    ,    
    XXX@XXX.com
   }
   notification_email_from XXX@XXX.com                  #     
   #smtp_server XXX.smtp.com #  smtp     
   #smtp_connect_timeout 30 #  smtp      
   router_id LVS_DEVEL                                    #  keepalived       
}

vrrp_instance VI_1 { 
    state BACKUP           #     MASTER     BACKUP
    interface eth0         #         
    virtual_router_id 51   #     virtual_router_id    
    priority 99            #MASTER     BACKUP   BACKUP 99 
    advert_int 1           #MASTER BACKUP                ,    
    authentication {       #    
        auth_type PASS     #         
        auth_pass 8888
    }
    virtual_ipaddress {    #  vip
        192.168.101.100       #      IP,    
    }
}


nginx 프로 세 스 와 keepalived 가 동시에 존재 하지 않 는 문 제 를 해결 합 니 다.
keepalived 는 keepalived 프로 세 스 가 존재 하 는 지 확인 하여 서버 가 다운 되 었 는 지 여 부 를 판단 합 니 다. keepalived 프로 세 스 가 있 지만 nginx 프로 세 스 가 없 으 면 keepalived 프로 세 스 가 주 된 전환 을 하지 않 습 니 다. 따라서 nginx 프로 세 스 가 존재 하 는 지 확인 하려 면 발 을 써 야 합 니 다.
#!/bin/bash
#        nginx  keepalived  kill 
A=`ps -C nginx --no-header |wc -l`      ##       nginx         A 
if [ $A -eq 0 ];then                    ##            
       service keepalived stop          ##     keepalived   
fi

keepalived. conf 수정
#    
global_defs {
   notification_email {  #  keepalived          email    ,    
     XXX@XXX.com
   }
   notification_email_from miaoruntu@itcast.cn  #     
   #smtp_server XXX.smtp.com #  smtp     
   #smtp_connect_timeout 30 #  smtp      
   router_id LVS_DEVEL                                    #  keepalived       
}
vrrp_script check_nginx {
    script "/etc/keepalived/check_nginx.sh"         ##    
    interval 2                                      ##    ,2 
    weight 2                                        ##  
}
vrrp_instance VI_1 {
    state MASTER           #     MASTER     BACKUP
    interface eth0         #         
    virtual_router_id 51   #     virtual_router_id    
    priority 100           #MASTER     BACKUP   BACKUP 99
    advert_int 1           #MASTER BACKUP                ,    
    authentication {       #    
        auth_type PASS     #         
        auth_pass 8888
    }
   track_script {
        check_nginx        #    
   }
    virtual_ipaddress {    #  vip
        192.168.101.100       #      IP,    
    }

}

수정 후 리 셋 ~ 완료 ~

좋은 웹페이지 즐겨찾기