Nginx + keepalived 구축 부하 균형 실현

2648 단어
앞에서 말 한 단독 nginx 는 웹 프 록 시 서버 로 서 일정한 시간 대의 수 요 를 만족 시 킬 수 있 지만 큰 합병 을 만 났 을 때 신뢰성 있 는 nginx 구 조 를 고려 해 야 합 니 다.
nginx - 122.119.181.100, 122.119.181.101 (두 서버 는 nginx 와 keepalived 를 동시에 구축 해 야 하지만 keepalived 는 주 차 를 나 누 어야 합 니 다).vip - 122.119.181.120 (가상 IP 주 소 는 고객 에 게 방문 을 제공 한 다음 에 VIP 는 해당 하 는 nginx 에 배 포 됩 니 다).백 엔 드 - nginx 의 upstream 기능 을 통 해 백 엔 드 의 부하 균형 을 실현 합 니 다.
nginx - 를 설치 하면 컴 파일 을 통 해 설치 하거나 yum 을 통 해 keepalived - 를 설치 할 수 있 습 니 다.
keepalived 핵심 점 설정 - yum 설치 후 기본 값 은 / etc / keepalived / keepalived. conf master 설정
global_defs {
   notification_email {
     [email protected]
     [email protected]
     [email protected]
   }
   notification_email_from [email protected]
   smtp_server 192.168.200.1
   smtp_connect_timeout 30
   router_id LVS_DEVEL
}
vrrp_script check_ng {
        script "/opt/app/web/nginx/checknginx.sh"
        interval 2
}

vrrp_instance VI_1 {
    state MASTER   #      
    interface eth0   #         
    virtual_router_id 51   #      ,   BACKUP    
    mcast_src_ip 122.119.181.100 #   IP  
    priority 100  #     ,    2     
    advert_int 1
    authentication {
        auth_type PASS  #      
        auth_pass zhouzhifei
    }
    virtual_ipaddress {
        122.119.181.120/24 dev eth0 label eth0:1 #  IP         
    }
    track_script {
         check_ng
            }         
}

BACKUP 설정
global_defs {
   notification_email {
     [email protected]
     [email protected]
     [email protected]
   }
   notification_email_from [email protected]
   smtp_server 192.168.200.1
   smtp_connect_timeout 30
   router_id LVS_DEVEL
}
vrrp_script check_ng {
        script "/opt/app/web/nginx/checknginx.sh"
        interval 2
}
vrrp_instance VI_1 {
    state BACKUP
    interface eth1
    virtual_router_id 51
    mcast_src_ip 122.119.181.101
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass zhouzhifei
    }
    virtual_ipaddress {
122.119.181.120/24 dev eth1 label eth1:1
    }
    track_script {
         check_ng
                  } 
}

기본 nginx 검 측 스 크 립 트
#!/bin/bash
run=`ps -C nginx --no-header | wc -l`
if [ $run -eq 0 ];then
     /opt/app/web/nginx/sbin/nginx -s stop
     /opt/app/web/nginx/sbin/nginx
     sleep 3
     if [ `ps -C nginx --no-header | wc -l` ];then
        killall keepalived
     fi
fi

mater 가 회복 되면 BACKUP 에서 MASTER 로 자동 으로 전환 하 는 방법 을 생각 하 세 요?

좋은 웹페이지 즐겨찾기