Nginx + keepalived 구축 부하 균형 실현
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 로 자동 으로 전환 하 는 방법 을 생각 하 세 요?
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.