nginx+keepalived 高可用

nginx 安裝


rpm -ivh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
yum install nginx

#設置開機啓動
systemctl enable nginx.service

#啓動服務
systemctl start nginx.service


keepalived 安裝
#安裝keepavlived
yum -y install keepalived

#設置開機啓動
systemctl enable nginx.service

#啓動服務
service keepalived start


keepavlived mater設置

global_defs {
notification_email {br/>[email protected]
}
notification_email_from Keepalived@localhost
smtp_server [email protected]
smtp_connect_timeout 30
router_id LVS_DEVEL
}
vrrp_script chk_nginx {
script "/etc/keepalived/chk_nginx.sh"
interval 3
weight 2
}

vrrp_instance VI_1 {
state MASTER
interface eth0
lvs_sync_daemon_interface eth0
virtual_router_id 151
priority 100
advert_int 5
nopreempt
authentication {
auth_type PASS
auth_pass 1111
}
#VIP
virtual_ipaddress {
172.16.101.193
}
track_script {
chk_nginx
}
}


keepavlived backup 設置
cat keepalived.conf

global_defs {
notification_email {br/>[email protected]
}
notification_email_from Keepalived@localhost
smtp_server [email protected]
smtp_connect_timeout 30
router_id LVS_DEVEL
}
vrrp_script chk_nginx {
script "/etc/keepalived/chk_nginx.sh"
interval 3 #這個必須要大於腳本里sleep 2 要不腳本不生效。
weight 2
}

vrrp_instance VI_1 {
state BACKUP
interface eth0
lvs_sync_daemon_interface eth0
virtual_router_id 151
priority 90
advert_int 5
authentication {
auth_type PASS
auth_pass 1111
}
#VIP
virtual_ipaddress {
172.16.101.193
}
track_script {
chk_nginx
}
}


腳本:
cat /etc/keepalived/chk_nginx.sh

#!/bin/sh
A=ps -C nginx --no-header |wc -l
if [ $A -eq 0 ];then
systemctl start nginx.service
sleep 2
if [ ps -C nginx --no-header |wc -l -eq 0 ];then
systemctl stop keepalived
fi
fi

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章