nginx keepalived 설정
5568 단어 nginxkeepalived
대형 웹 프로젝트 에 있어 서 없어 서 는 안 될 것 은 바로 고가 용이 다.
그러면 회사 업무 가 발전 함 에 따라 nginx 로 부하 균형 을 잡 으 면 일 평균 백만 PV 의 방문 을 지탱 할 수 있 고 2 년 동안 운행 하면 서 단일 고장 이 발생 하지 않 았 지만 단일 고장 으로 인 한 업무 중단 을 피 하 는 것 도 고려 해 야 한다.
keepalived 프로필:
keepalived 프로젝트 의 주요 목 표 는 Liux 시스템 과 Liux 인 프 라 시설 에 균형 적 이 고 사용 가능 한 것 을 제공 하 는 것 이다.
부하 균형 구 조 는 IPVS 커 널 모듈 에 의존 하여 4 층 부하 균형 을 제공 하고 keepalived 는 동적 검사 와 부하 탱크 기반 관리 서 비 스 를 실현 했다.한편, 고가 용성 은 VRRP 프로 토 콜 을 통 해 이 뤄 진다.간단 한 프레임 워 크 는 단독 또는 함께 탄성 인 프 라 를 제공 할 수 있다.
keepalived 프로필:
keepalived. conf 파일 은 세 개의 설정 부분 으로 구성 되 어 있 습 니 다.
이 글 은 nginx 설치 소 개 를 하지 않 습 니 다. nginx 설치 에 관 한 것 은 앞의 글 을 참고 할 수 있 습 니 다.
시스템: centos 6.8 최소 화
원본 파일 디 렉 터 리: / usr / local / src
master_ip:192.168.1.10
backup_ip:192.168.1.11
vip:192.168.1.20
keepalived 홈 페이지http://www.keepalived.org/
keepalived master 에 표 시 된 설정 항목 이 상대 적 으로 많 습 니 다. 상황 에 따라 선택 하여 사용 할 수 있 습 니 다.
각각 메 인 nginx 에 keepalived 설정 을 설치 합 니 다.
준비:
keepalived 원본 패키지 다운로드:
wget http://www.keepalived.org/software/keepalived-1.3.2.tar.gz
설치 개발 도구:
yum install gcc-c++ openssl-devel
iptables 설정:
iptables 를 닫 거나 주 된 연결 을 허용 합 니 다.
iptables -I INPUT -i eth1 -s 192.168.1.11 -j ACCEPT
iptables -I INPUT -i eth1 -s 192.168.1.10 -j ACCEPT
설치 keepalived:
압축 풀기:
tar zxf keepalived-1.3.2.tar.gz
컴 파일 설치 설정:
cd keepalived-1.3.2
./configure
make
make install
프로필 과 서비스 만 들 기:
cp -r keepalived/etc/keepalived/ /etc/
cp keepalived/etc/init.d/keepalived.rh.init /etc/init.d/keepalived
cp keepalived/etc/sysconfig/keepalived /etc/sysconfig/
keepalived 설정:
master keepalived.conf
! Configuration File for keepalived
global_defs {
notification_email {
[email protected] #
}
notification_email_from [email protected] #
smtp_server 192.168.200.1 # SMTP , ip . ( 25)
smtp_connect_timeout 30 #smtp
router_id LVS_DEVEL # ,
vrrp_skip_check_adv_addr
#vrrp_strict # VRRP ,
vrrp_garp_interval 0
vrrp_gna_interval 0
script_user keepalived_script # 。 。
# , keepalived_script , , root
enable_script_security # root , root 。
}
vrrp_script chk_nginx_service { #VRRP
script "/usr/local/keepalived/nginx-ha-check" #
interval 3 # ,
weight -50 # , (-255-255)。priority priority
# 。
fall 3 # ,
rise 2 # , ,
user keepalived_script #
}
vrrp_instance VI_1 { #VRRP
state MASTER # ,MASTER|BACKUP
interface eth0 #
#mcast_src_ip 192.168.1.10 # VRRP ip
unicast_src_ip 192.168.1.10 # VRRP ip (alias to mcast_src_ip)
unicast_peer { # VRRP ,
192.168.1.11 # ip,
virtual_router_id 51 #VRRP (-1-255),
priority 100 # ,-1-255,
advert_int 1 #VRRP
authentication { #
auth_type PASS #
auth_pass 1111 #
}
virtual_ipaddress { #VRRP ,
192.168.1.20
}
track_script { #
chk_nginx_service # , 。chk_nginx_service weight -20
}
}
backup keepalived.conf
! Configuration File for keepalived
global_defs {
notification_email {
[email protected]
}
notification_email_from [email protected]
smtp_server 192.168.200.1
smtp_connect_timeout 30
router_id LVS_DEVEL
vrrp_skip_check_adv_addr
vrrp_strict
vrrp_garp_interval 0
vrrp_gna_interval 0
}
vrrp_script chk_nginx_service {
script "/usr/local/keepalived/nginx-ha-check"
interval 3
weight -10
}
vrrp_instance VI_1 {
state BACKUP
interface eth0
virtual_router_id 51
priority 90
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.1.20
}
track_script {
chk_nginx_service
}
}
nginx - ha - check 스 크 립 트
chmod +x nginx-ha-check
#!/bin/sh
PATH=/bin:/sbin:/usr/bin:/usr/sbin
STATEFILE=/var/run/nginx-ha-keepalived.state
if [ -s "$STATEFILE" ]; then
. "$STATEFILE"
case "$STATE" in
"BACKUP"|"MASTER"|"FAULT")
service nginx status
exit $?
;;
*|"")
logger -t nginx-ha-keepalived "Unknown state: '$STATE'"
exit 1
;;
esac
fi
service nginx status
exit $?
시작 서비스:
service keepalived start
인증:
메 인 서비스 설치 설정 이 완료 되면 브 라 우 저 방위 192.168.1.20 주 소 를 통 해 메 인 nginx 서 비 스 를 중단 하고 192.168.1.20 에 다시 방문 하여 페이지 를 볼 수 있 습 니 다.
nginx 메 인 서 비 스 는 유일한 표 지 를 확인 할 수 있 는 페이지 가 필요 합 니 다. 예 를 들 어 index. html 에서 메 인 서 비 스 를 표시 합 니 다.
동시에 관찰 가능 / var / log / messages 로그 정보
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
간단! Certbot을 사용하여 웹 사이트를 SSL(HTTPS)화하는 방법초보자가 인프라 주위를 정돈하는 것은 매우 어렵습니다. 이번은 사이트를 간단하게 SSL화(HTTP에서 HTTPS통신)로 변경하는 방법을 소개합니다! 이번에는 소프트웨어 시스템 Nginx CentOS7 의 환경에서 S...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.