Keepalived实现双机(主从nginx)主备高可用(1)
原理图:环境:一台虚拟机里面分别安装两台CentOs7,并在两台centOs7里面分别安装nginx和keepalived。不会安装的小伙伴戳:安装nginx(官网下载编译安装)_p&f°的博客-CSDN博客以及:Keepalived安装_p&f°的博客-CSDN博客配置:1、nginx安装完毕即可,无需修改配置。在index.html里面修改下,以区分访问到不同的nginx2、分别修改主备kee
原理图:
环境:
一台虚拟机里面分别安装两台CentOs7,并在两台centOs7里面分别安装nginx和keepalived。
不会安装的小伙伴戳:安装nginx(官网下载编译安装)_p&f°的博客-CSDN博客
以及:Keepalived安装_p&f°的博客-CSDN博客
配置:
1、nginx安装完毕即可,无需修改配置。在index.html里面修改下,以区分访问到不同的nginx
2、分别修改主备keepalived配置
2.1 修改ip为129的主机配置
(1)找到配置文件,如图
(2)主配置keepalived.conf内容如下
! Configuration File for keepalived
global_defs {
#路由id:当前安装keepalived节点主机的标识符,全局唯一
router_id keep_129
}
#计算机节点
vrrp_instance VI_1 {
# 表示的状态,当前的129为nginx的主节点,MASTER/BACKUP
state MASTER
# 当前实例绑定的网卡
interface ens32
# 保证主备节点一致
virtual_router_id 51
# 优先级/权重,谁的优先级高,在MASTER挂掉后,救能成为MASTER
priority 100
# 主备之间同步检测的时间间隔,默认1s
advert_int 1
# 认证授权的密码,防止非法节点的进入(主与从相同即可)
authentication {
auth_type PASS
auth_pass 1111
}
# 虚拟ip(随便写,当要保证在同一个网段,比如我这里主机ip为192.168.217.129,那么要以192.168.217/24不变)
virtual_ipaddress {
192.168.217.2
}
}
(3)启动keepalived。
/usr/local/keepalived/sbin/keepalived
(4)访问虚拟ip:192.168.217.2 如图
也可在命令行输入ip addr 查看,网卡ens32下有虚拟ip
2.2 修改ip为130的从机配置,步骤和2.1主机一样,只是配置文件不同,如下
global_defs {
#路由id:当前安装keepalived节点从机的标识符,全局唯一
router_id keep_130
}
#计算机节点
vrrp_instance VI_1 {
# 表示的状态,当前的130为nginx的从节点,MASTER/BACKUP
state BACKUP
# 当前实例绑定的网卡
interface ens32
# 保证主备节点一致
virtual_router_id 51
# 优先级/权重,谁的优先级高,在MASTER挂掉后,救能成为MASTER
priority 80
# 主备之间同步检测的时间间隔,默认1s
advert_int 1
# 认证授权的密码,防止非法节点的进入(主与从相同即可)
authentication {
auth_type PASS
auth_pass 1111
}
# 虚拟ip
#(随便写,当然我这边在虚拟机中要保证在同一个网段,比如我这里主机ip为192.168.217.129,
#那么要以192.168.217同网段不变)
virtual_ipaddress {
192.168.217.2
}
}
启动后,此时输入命令ip addr查看,ens32下没有虚拟ip。因为129主机正常运行,符合猜想情况。
3、把129主机keepalived停止,那么继续访问vip:192.168.217.2。此时访问的就是130从机了。
访问192.168.217.2,结果如图,符合实际情况。over!!
延续:
看到这可能小伙伴会说要是把129主机的nginx挂了,而不是挂129主机的keepalived,继续访问虚拟ip:192.168.217.2会怎么样?哈哈哈哈,当然是访问报错啊,因为虚拟ip还是和主机绑定的。那有什么办法实现不间断访问呢?请看Keepalived配置Nginx自动重启,实现7x24小时不间断服务_p&f°的博客-CSDN博客
扩展:把keepalived注册为系统服务(这样就可以像启动、关闭、重启防火墙一样简单操作,而不用在需要关闭它时,还要查看端口号,然后再用kill -9关闭)
1、进入到之前解压keepalived后的文件夹中
cd /home/software/keepalived-2.2.7/keepalived/
2、然后进入此目录下的 etc 文件夹中
3、分别复制以下文件到指定位置(有两份照着复制就行)
cp init.d/keepalived /etc/init.d/
cp sysconfig/keepalived /etc/sysconfig/
4、刷新
systemctl daemon-reload
5、启动,查看,完毕!
更多推荐
所有评论(0)