Nginx + Keepalived 더 블 클릭 열 준비 및 부하 균형 실현
6503 단어 keepalived
chkconfig --add keepalived
chkconfig keepalived on
4: Nginx master 설정
keepalived.conf
! Configuration File for keepalived
global_defs {
notification_email {
[email protected]
}
notification_email_from [email protected]
smtp_server Cashub1-szzb.vanke.net.cn
smtp_connect_timeout 30
router_id LVS_DEVEL
}
\ # 모니터링 서비스. NGINX mysql 등
vrrp_script chk_nginx {
script "/home/check_nginx.sh"
interval 2
weight 2
}
vrrp_instance VI_1 {
state MASTER
interface eth0
virtual_router_id 51
mcast_src_ip 10.1.58.191
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
10.1.58.190
}
track_script {
chk_nginx #스 크 립 트 검사
}
}
}
5: Nginx slave
배치 하 다.
keepalived.conf
! Configuration File for keepalived
global_defs {
notification_email {
[email protected]
}
notification_email_from [email protected]
smtp_server Cashub1-szzb.vanke.net.cn
smtp_connect_timeout 30
router_id LVS_DEVEL
}
\ # 모니터링 서비스. NGINX mysql 등
vrrp_script chk_nginx {
script "/home/check_nginx.sh"
interval 2
weight 2
}
vrrp_instance VI_1 {
state SLAVE
interface eth0
virtual_router_id 51
mcast_src_ip 10.1.58.181
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
10.1.58.190
}
track_script {
chk_nginx #스 크 립 트 검사
}
}
6:
check_nginx.sh
#!/bin/sh
if [ "$(ps -ef | grep "nginx: master process"| grep -v grep )" == "" ]
then
/usr/local/nginx/sbin/nginx
sleep 5
if [ "$(ps -ef | grep "nginx: master process"| grep -v grep )" == "" ]
then
killall keepalived
fi
fi
}
7: 설정 매개 변수 설명
! Configuration File for keepalived
global_defs {
notification_email {
[email protected] # , , 。 sendmail
}
notification_email_from [email protected] #
smtp_server 127.0.0.1 # smtp server
smtp_connect_timeout 30 # smtp server
router_id LVS_DEVEL # keepalived 。
}
vrrp_instance VI_1 {
state MASTER # keepalived ,MASTER ,BACKUP
interface eth0 # HA
virtual_router_id 51 # , , vrrp 。 vrrp_instance ,MASTER BACKUP
priority 100 # , , , vrrp_instance ,MASTER BACKUP
advert_int 1 # MASTER BACKUP ,
authentication { #
auth_type PASS # , PASS AH
auth_pass 1111 # , vrrp_instance ,MASTER BACKUP
}
virtual_ipaddress { # IP , IP ,
10.0.0.148
}
}
virtual_server 10.0.0.148 80 { # , IP ,IP
delay_loop 6 # ,
lb_algo rr # , rr,
lb_kind DR # LVS , NAT、TUN、DR
persistence_timeout 50 # , 。 , session 。
# , , 。
# , , , , 50 ,
# , , 50
protocol TCP # , TCP UDP
real_server 10.0.0.137 80 { # 1, real server IP ,IP
weight 3 # , , , ,
# , , ,
TCP_CHECK { #realserver ,
connect_timeout 10 # 3
nb_get_retry 3 #
delay_before_retry 3 #
connect_port 80
}
}
real_server 10.0.0.139 80 {
weight 3
TCP_CHECK {
connect_timeout 10
nb_get_retry 3
delay_before_retry 3
connect_port 80
}
}
}
테스트
1. Nginx master, Nginx slave 위의 Nginx 시작
2.
Nginx master 시작, Nginx slave 위의 keepalived (service keepalived start
)
3.ping VIP ping 10.1.58.190
4. master 이상 시 뮬 레이 션, 자동 으로 slave 로 전환 하 는 지 확인
5. 로그 보기 tail -f /var/logs/messages
9: 부하 균형
부하 균형 을 맞 추 려 면 master, slave 설정 파일 에 아래 설정 을 추가 하 십시오 virtual server 10.1.58.190 80 { delay_loop 6 lb_algo rr lb_kind NAT nat_mask 255.255.255.0 persistence_timeout 50 protocol TCP real_server 10.1.58.191 80 { weight 3 TCP_CHECK { connect_timeout 10 nb_get_retry 3 delay_before_retry 3 connect_port 80 } } real_server 10.1.58.181 80 { weight 3 TCP_CHECK { connect_timeout 10 nb_get_retry 3 delay_before_retry 3 connect_port 80 } }
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
【CoreOS】fleet + docker + keepalived(VRRP+VIP만)로 간단 LB이번에는 fleet + docker + keepalived로 쉽게로드 밸런서를 구축하고 싶습니다. 먼저 docker hub에 위의 구성을 목표로 하는 image가 있는지 찾아 옵니다. 로드 밸런서의 조합은 이전에 구...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.