keepalived + nginx 높 은 사용 가능

keepalived 설치
yum 방식 으로 직접 설치 하면 됩 니 다. 이 방식 은 자동 으로 의존 도 를 설치 합 니 다.
Copyyum - y install keepalived 호스트 수정 (192.168.30.21) keepalived 프로필
yum 방식 으로 설 치 된 프로필 은 / etc / keepalived 에서 생산 됩 니 다:
Copyvi keepalived.confkeepalived.conf:
복사 \ # 검 측 스 크 립 트 vrrpscript chk_http_port {script "/ usr / local / src / check nginx pid. sh" \ # 심장 박동 이 실 행 된 스 크 립 트 입 니 다. nginx 가 interval 2 를 시작 할 지 여 부 를 확인 합 니 다. \ # (스 크 립 트 가 실 행 된 간격, 단 위 는 초) weight 2 \ # 가중치} \ # vrrp 인 스 턴 스 정의 부분 vrrpinstance VI_1 {state MASTER \ # keepalived 의 역할 을 지정 합 니 다. MASTER 를 위주 로 하고 BACKUP 은 interface eth 0 \ # 현재 vrrp 통신 을 하 는 네트워크 인터페이스 카드 (현재 centos 의 네트워크 카드) 를 준비 합 니 다.ifconfig 로 구체 적 인 네트워크 카드 virtual router id 66 \ # 가상 경로 번 호 를 봅 니 다. 주종 은 priority 100 \ # 우선 순위 와 일치 해 야 합 니 다. 수치 가 클 수록 처리 요청 의 우선 순위 가 높 습 니 다 advert int 1 \ # 검사 간격, 기본 값 은 1s (vrrp 조직 방송 주기 초) \ # 인증 에 접근 할 수 있 는 권한 을 부여 합 니 다.{auth type PASS \ # 인증 형식 과 비밀 번 호 를 설정 합 니 다. MASTER 와 BACKUP 은 같은 비밀 번 호 를 사용 해 야 auth pass 1111} track script {chk http port \ # (검 측 스 크 립 트 호출)} virtual ipaddress {192.168.30.20 \ # 가상 ip (VIP) 을 정의 할 수 있 습 니 다. 줄 마다} virtual ipaddress 에 VIP 를 설정 하고 온라인 에서 vip 를 통 해 서 비 스 를 방문 할 수 있 습 니 다.
interface 는 서버 네트워크 카드 에 따라 설정 해 야 합 니 다.
authentication 설정 권한 부여 접근 예비 장치 도 같은 설정 이 필요 합 니 다.
예비 장치 수정 (192.168.30.22) keepalived 프로필
keepalived.conf:
복사 \ # 스 크 립 트 vrrp script chk http port {script "/ usr / local / src / check nginx pid. sh" \ # 심장 박동 이 실 행 된 스 크 립 트 를 검사 합 니 다. nginx 가 interval 2 \ # (스 크 립 트 가 실 행 된 간격 을 검사 합 니 다) weight 2 \ # 가중치} \ # vrrp 인 스 턴 스 정의 부분 vrrp instance VI 1{state BACKUP \ # keepalived 의 역할 을 지정 합 니 다. MASTER 를 위주 로 하고 BACKUP 은 interface eth 0 \ # 현재 vrrp 통신 을 하 는 네트워크 인터페이스 카드 (현재 centos 의 네트워크 카드) 를 준비 합 니 다.ifconfig 로 구체 적 인 네트워크 카드 virtual router id 66 \ # 가상 경로 번 호 를 볼 수 있 습 니 다. 주종 은 priority 99 \ # 우선 순위, 수치 가 클 수록 처리 요청 의 우선 순위 가 높 을 수록 advert int 1 \ # 검사 간격, 기본 값 은 1s (vrrp 조직 방송 주기 초) \ # 인증 에 접근 할 수 있 는 권한 을 부여 합 니 다.{auth type PASS \ # 인증 형식 과 비밀 번 호 를 설정 합 니 다. MASTER 와 BACKUP 은 같은 비밀 번 호 를 사용 해 야 auth pass 1111} track script {chk http port \ # (검 측 스 크 립 트 호출)} virtual ipaddress {192.168.30.20 \ # 가상 ip (VIP) 을 정의 합 니 다. 여러 줄 로 설정 할 수 있 습 니 다.} 검 측 스 크 립 트:
Copy \ #! / bin / bash \ # nginx 가 A = ps -C nginx --no-header |wc -l if [$A - eq 0] 을 시 작 했 는 지 확인 합 니 다. then \ # nginx 가 시작 되 지 않 으 면 nginx service nginx start \ # nginxif [ps -C nginx --no-header |wc -l - eq 0] 를 시작 합 니 다. then \ # nginx 재 부팅 에 실패 하면 keepalived 서 비 스 를 중단 하고 VIP 이전 killall keepalived fifi 스 크 립 트 권한 수여: chmod 775 check nginx pid. sh
설명: 스 크 립 트 는 권한 을 부여 해 야 합 니 다. 그렇지 않 으 면 접근 할 수 없습니다. 여기 서 저희 두 서버 가 실행 하고 VIP (virtual ipaddress: 192.168.30.20) 를 실행 합 니 다. 저 희 는 생산 환경 에서 VIP 를 통 해 서 비 스 를 직접 방문 합 니 다.
아 날로 그 nginx 고장:
두 서버 가 기본적으로 접근 하 는 Nginx 의 html 페이지 를 차이 점 으로 수정 합 니 다.
먼저 192.168.30.20 을 방문 하고 vip 를 통 해 방문 하 며 페이지 는 192.168.30.21 을 표시 합 니 다. 이것 은 현재 메 인 서버 가 제공 하 는 서비스 임 을 설명 합 니 다.
이때 192.168.30.21 메 인 서버 에서 명령 을 수행 합 니 다:
Copysystemctl stop nginx; \ # nginx 가 vip (192.168.30.20) 에 다시 접근 하 는 것 을 중단 합 니 다. 이 때 페이지 가 표 시 된 것 은 192.168.30.21 입 니 다. 이것 은 스 크 립 트 에서 자동 으로 다시 시작 합 니 다.
현재 192.168.30.21 서버 를 직접 닫 았 습 니 다. 이 곳 에서 vip (192.168.30.20) 를 방문 한 결과 페이지 에 192.168.30.22 가 표시 되 었 습 니 다. 이때 keepalived 는 자동 으로 고장 이 나 서 이전 되 었 고 기업 급 생산 환경의 높 은 사용 가능 한 방안 이 구축 되 었 습 니 다.

좋은 웹페이지 즐겨찾기