3. keepalived 설정 nginx 자동 재 부팅, 7X 24 끊 임 없 는 서비스 실현

3. keepalived 설정 nginx 자동 재 부팅, 7X 24 끊 임 없 는 서비스 실현
  • 1. nginx 리 셋 스 크 립 트 작성
  • 2. keepalived 감청 스 크 립 트 설정
  • 3. keepalived 재 개
  • 4. 테스트
  • nginx 재 부팅 스 크 립 트 작성
    / etc / keepalived / 디 렉 터 리 에 nginx 리 셋 스 크 립 트 를 만 듭 니 다.
    vi check_nginx_alive_or_not.sh
    

    내용 은 아래 와 같다
    #!/bin/bash
    A=`ps -C nginx --no-header |wc -l`
    #   nginx    ,       
    if [ $A -eq 0 ];then
            /opt/server/nginx/sbin/nginx
            #   3     nginx,        ,   keepalived,        
            sleep 3
            if [ `ps -C nginx --no-header |wc -l` -eq 0 ];then
                    killall keepalived
            fi
    fi
    
    

    2. keepalived 감청 스 크 립 트 설정
    ! Configuration File for keepalived
    
    global_defs {
       router_id keep_47
    }
    vrrp_script check_nginx_alive{
       #      
       script "/etc/keepalived/check_nginx_alive_or_not.sh"
       #           
       interval 2
       #        ,     +10,   -10,         ,   -10
       weight 10
    }
    #     
    vrrp_instance VI_1 {
        state MASTER
        #         
        interface ens33
        virtual_router_id 51
        priority 100
        advert_int 1
        authentication {
            auth_type PASS
            auth_pass 1111
        }
        track_script{
            #       nginx  
            check_nginx_alive
        }
        virtual_ipaddress {
            172.17.35.161
        }
    }
    
    

    3. keepalived 재 부팅
    systemctl restart keepalived
    

    테스트
    메 인 노드 의 nginx 서 비 스 를 중단 한 후 가상 IP 에 접근 합 니 다.http://172.17.35.161/정상적으로 방문 할 수 있다.이 유 는 keepalived 서비스 가 2 초 간격 으로 nginx 서비스 상 태 를 검사 하고 nginx 서비스 가 중단 되면 nginx 서 비 스 를 시작 합 니 다. 만약 에 3 초 후에 nginx 서비스 가 시작 되 지 않 으 면 keepalived 서 비 스 를 중단 하고 가상 IP 를 예비 노드 에 연결 시 키 며 예비 노드 가 메 인 노드 를 대체 하여 7X 24 시간 동안 중단 되 지 않 는 서 비 스 를 실현 합 니 다.

    좋은 웹페이지 즐겨찾기