Centos 7 Keepalived + Nginx 더 블 핫 준비 HA 의 정확 한 자 세 를 설치 하고 자동 실행 노트 를 켜 세 요.

저 는 centos7X 64 를 사용 하여 CentOS - 7 - x86 설 치 를 최소 화 합 니 다.64-Minimal-1708
github 에 걸 린 개인 블 로그: hexo 가 개인 블 로 그 를 강력하게 구동 합 니 다.
이러한 설정 의 역할 에 대해 저 는 간단하게 설명 하 겠 습 니 다. ① 예 를 들 어 nginx 한 대가 백 엔 드 서버 클 러 스 터 에 부하 균형 을 제공 하고 이 ngixn 이 끊 었 다 고 가정 하면 백 엔 드 서버 클 러 스 터 도 취소 되 고 ② 다시 말 하면 Keepalived + Nginx 는 nginx 한 대 를 끊 은 후에 nginx 한 대가 부하 균형 서 비 스 를 계속 제공 하 는 것 을 방지 하 는 것 입 니 다.
준비: 두 대의 기계, 세 개의 ip (서로 연결 가능 {일반 같은 네트워크})
nginx_01 ip:192.168.59.128   
nginx_02 ip:192.168.59.129   
  ip:192.168.59.130

1. 방화벽 설정:
방화벽 닫 기와 통과 포트 추가 둘 중 하 나 를 선택 하 십시오.
1.1 방화벽 을 직접 닫 습 니 다 (nginx 01 과 nginx 02 모두 실행)
systemctl stop firewalld.service #  firewall
systemctl disable firewalld.service #  firewall    
firewall-cmd --state #         (     notrunning,     running)
[root@localhost ~]# firewall-cmd --state
not running
[root@localhost ~]#

1.2 실행 포트 추가 (nginx 01 과 nginx 02 모두 실행)
firewall-cmd --zone=public --add-port=80/tcp --permanent #      (--permanent    ,          )

firewall - cmd – reload \ # 방화벽 새로 고침 적용
```
firewall-cmd --zone=public --list-ports #           
[root@localhost ~]# firewall-cmd --zone=public --add-port=18080/tcp --permanent #      (--permanent    ,          )
success
[root@localhost ~]# firewall-cmd --reload #          
success
[root@localhost ~]# firewall-cmd --zone=public --list-ports #           
80/tcp
[root@localhost ~]#

2. keepalived 설치 (nginx 01 과 nginx 02 모두 실행)
yum install keepalived
keepalived -v

3. 프로필 백업
nginx 에서01 위 설정
cp /etc/keepalived/keepalived.conf /etc/keepalived/keepalived.conf.bak
vim /etc/keepalived/keepalived.conf

다음 내용 으로 수정
! Configuration File for keepalived
global_defs {
    router_id nginx_server_1
}
vrrp_script chk_nginx {
    script "/etc/keepalived/nginx_check.sh"
    interval 2
    weight 20
    !weight   
    !         0,,Master:weight+priority>Backup:weight+priority(   )
    !          0,Master:priority:priority+weight(  )
    !weight   
    !         0,,Master:priority>Backup:priority(   )
    !          0,Master:priority+weight:priority(  )
    !    ,weight       Master Backup priority  
}
vrrp_instance VI_1 {
    state MASTER
    interface ens33 !      
    virtual_router_id 51
    mcast_src_ip 192.168.59.128 !nginx01 ip
    priority 100
    nopreempt
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111 !      nginx     
    }
    track_script {
        chk_nginx
    }
    virtual_ipaddress {
        192.168.59.222/24 !  ip           
    }
}

nginx 에서02 위 설정
cp /etc/keepalived/keepalived.conf /etc/keepalived/keepalived.conf.bak
vi /etc/keepalived/keepalived.conf

다음 내용 으로 수정
주의:
state      , BACKUP
route_id      
priority     
! Configuration File for keepalived
global_defs {
    router_id nginx_server_2
}
vrrp_script chk_nginx {
    script "/etc/keepalived/nginx_check.sh"
    interval 2
    weight 20
    !weight   
    !         0,,Master:weight+priority>Backup:weight+priority(   )
    !          0,Master:priority:priority+weight(  )
    !weight   
    !         0,,Master:priority>Backup:priority(   )
    !          0,Master:priority+weight:priority(  )
    !    ,weight       Master Backup priority  
}
vrrp_instance VI_1 {
    state BACKUP
    interface ens33
    virtual_router_id 51
    mcast_src_ip 192.168.59.129
    priority 90
    nopreempt
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    track_script {
        chk_nginx
    }
    virtual_ipaddress {
        192.168.59.222/24
    }
}

4. nginx 프로 세 스 의 코드 를 검사 합 니 다. nginx 프로 세 스 가 무 너 지면 keepalived 는 자동 으로 nginx 를 시작 합 니 다.
nginx 에서01 과 nginx02 에 한 번 씩 설정
vim /etc/keepalived/nginx_check.sh

다음 코드 추가
#!/bin/bash

A=`ps -C nginx --no-header |wc -l`
if [ $A -eq 0 ];then
    /usr/sbin/nginx
    sleep 2
    if [ `ps -C nginx --no-header |wc -l` -eq 0 ];then
        killall keepalived
    fi
fi

5. 실행 가능 한 파일 로 변경
nginx 에서01 과 nginx02 에 한 번 씩 설정
chmod +xxx /etc/keepalived/nginx_check.sh

6. 시동 과 시동 자동 시동
nginx 에서01 과 nginx02 에 한 번 씩 설정
systemctl start keepalived //  
systemctl enable keepalived //     

좋은 웹페이지 즐겨찾기