notify.sh:
#!/bin/bash
case "$1" in
master)
/etc/init.d/nginx start
exit 0
;;
backup)
/etc/init.d/nginx stop
exit 0
;;
fault)
/etc/init.d/nginx stop
exit 0
;;
*)
echo 'Usage: `basename $0` {master|backup|fault}'
exit 1
;;
esac
实验结果操作:主节点nginx挂了 从节点就升级为主节点 之前的主节点nginx重新开启,就又回复为主节点,这里不做演示。
配置lvs:
lvs段配置文件说明:
virtual_server 192.168.200.100 443 { #vip port
delay_loop 6 #对后端Real Server轮询的时间间隔
lb_algo rr #调度方法
lb_kind NAT #lvs模型
nat_mask 255.255.255.0 #子网掩码
persistence_timeout 50 #连接的持久时长
protocol TCP #协议
real_server 192.168.201.100 443 {
weight 1 #权重
SSL_GET { #检查real server时候用的方法 可以是HTTP_GET
url {
path / #检测健康状况时获取的页面(默认页面)
digest ff20ad2481f97b1754ef3e12ecd3a9cc #期望的返回特征码 也可以是status_code 200
}
url {
path /mrtg/
digest 9b3a0c85a887a256d6939da88aabd8cd
}
connect_timeout 3 #连接超时时长
nb_get_retry 3 #连接超时后的重试次数
delay_before_retry 3 #重试间隔
}
}
}
具体配置lvs段:
virtual_server 192.168.1.199 80 {
delay_loop 6
lb_algo rr
lb_kind DR
nat_mask 255.255.255.0
persistence_timeout 0
protocol TCP
real_server 192.168.1.222 80 {
weight 1
HTTP_GET {
url {
path /demo.php
status_code 200
}
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
}
}
real_server 192.168.1.223 80 {
weight 1
HTTP_GET {
url {
path /demo.php
status_code 200
}
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
}
}
}