直接命令安装就可以:
yum install keepalived -y
没明白这个为什么有make和编译步骤https://blog.csdn.net/m0_70913815/article/details/129983938
查看是否安装:
rpm -a -q keepalived
安装后在/etc/目录下生成目录keepalived,有文件keepalived.conf:
/etc/keepalived
启动keepalived:
systemctl start keepalived
systemctl start keepalived.service
停止:
systemctl stop keepalived
systemctl stop keepalived.service
ps -ef | grep keepalived
完成高可用配置(主从配置)
1.修改keepalived.conf:
原:
! Configuration File for keepalived
global_defs { //全局定义
notification_email {
acassen@firewall.loc
failover@firewall.loc
sysadmin@firewall.loc
}
notification_email_from Alexandre.Cassen@firewall.loc
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_instance VI_1 {
state MASTER
interface eth0
virtual_router_id 51
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.200.16
192.168.200.17
192.168.200.18
}
}
virtual_server 192.168.200.100 443 {
delay_loop 6
lb_algo rr
lb_kind NAT
persistence_timeout 50
protocol TCP
real_server 192.168.201.100 443 {
weight 1
SSL_GET {
url {
path /
digest ff20ad2481f97b1754ef3e12ecd3a9cc
}
url {
path /mrtg/
digest 9b3a0c85a887a256d6939da88aabd8cd
}
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
}
}
}
virtual_server 10.10.10.2 1358 {
delay_loop 6
lb_algo rr
lb_kind NAT
persistence_timeout 50
protocol TCP
sorry_server 192.168.200.200 1358
real_server 192.168.200.2 1358 {
weight 1
HTTP_GET {
url {
path /testurl/test.jsp
digest 640205b7b0fc66c1ea91c463fac6334d
}
url {
path /testurl2/test.jsp
digest 640205b7b0fc66c1ea91c463fac6334d
}
url {
path /testurl3/test.jsp
digest 640205b7b0fc66c1ea91c463fac6334d
}
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
}
}
real_server 192.168.200.3 1358 {
weight 1
HTTP_GET {
url {
path /testurl/test.jsp
digest 640205b7b0fc66c1ea91c463fac6334c
}
url {
path /testurl2/test.jsp
digest 640205b7b0fc66c1ea91c463fac6334c
}
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
}
}
}
virtual_server 10.10.10.3 1358 {
delay_loop 3
lb_algo rr
lb_kind NAT
persistence_timeout 50
protocol TCP
real_server 192.168.200.4 1358 {
weight 1
HTTP_GET {
url {
path /testurl/test.jsp
digest 640205b7b0fc66c1ea91c463fac6334d
}
url {
path /testurl2/test.jsp
digest 640205b7b0fc66c1ea91c463fac6334d
}
url {
path /testurl3/test.jsp
digest 640205b7b0fc66c1ea91c463fac6334d
}
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
}
}
real_server 192.168.200.5 1358 {
weight 1
HTTP_GET {
url {
path /testurl/test.jsp
digest 640205b7b0fc66c1ea91c463fac6334d
}
url {
path /testurl2/test.jsp
digest 640205b7b0fc66c1ea91c463fac6334d
}
url {
path /testurl3/test.jsp
digest 640205b7b0fc66c1ea91c463fac6334d
}
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
}
}
}
改:(以下为例子,请按实际改写)
命令模式下:set nu //赋行号
保存退出。
ip addr
不显示虚拟ip,需要启动keepalived
====================================================
//脚本这一部分还没弄好//
2.在/usr/local/src 添加检测脚本
nginx_check.sh:
#!/bin/bash
A= 'ps -C nginx -no-header | wc -l '
if [ $A -eq 0 ];then
/usr/local/nginx/sbin/nginx
sleep 2
if ['ps -C nginx --no-header | wc -l ' -eq 0 ];then
killall keepalived
fi
fi
====================================================
3.两台服务器nginx和keepalived都启动
4.在浏览器输入虚拟ip地址,出现以下界面为正常:
5.把主服务器nginx和keepalived停掉,刷新浏览器(输入虚拟ip地址)显示为以下界面为正常,则表示主备切换成功: