学习的一些简单操作进行记录,需要配合keepalived对nginx实现多机高可用
学习的网址:https://www.majiaxueyuan.com/uc/play/40
nginx 下载地址:http://nginx.org/en/download.html
keepalived下载地址:https://download.csdn.net/download/qq_28198181/10997081
目录
1.配置多机keepalived
需要两个相同配置的linux服务器 也安装了同样的nginx 和 keepalived
2.修改配置文件
修改/etc/keepalived.conf文件
vim /etc/keepalived/keepalived.conf
主机Master修改
vrrp_script chk_nginx {
script "/etc/keepalived/nginx_check.sh" #运行脚本,脚本内容下面有,就是起到一个nginx宕机以后,自动开启服务
interval 2 #检测时间间隔
weight -20 #如果条件成立的话,则权重 -20
}
# 定义虚拟路由,VI_1 为虚拟路由的标示符,自己定义名称
vrrp_instance VI_1 {
state MASTER #来决定主从
interface ens33 # 绑定虚拟 IP 的网络接口,根据自己的机器填写
virtual_router_id 121 # 虚拟路由的 ID 号, 两个节点设置必须一样
mcast_src_ip 192.168.174.138 #填写本机ip
priority 100 # 节点优先级,主要比从节点优先级高
nopreempt # 优先级高的设置 nopreempt 解决异常恢复后再次抢占的问题
advert_int 1 # 组播信息发送间隔,两个节点设置必须一样,默认 1s
authentication {
auth_type PASS
auth_pass 1111
}
# 将 track_script 块加入 instance 配置块
track_script {
chk_nginx #执行 Nginx 监控的服务
}
virtual_ipaddress {
192.168.174.119 # 虚拟ip,也就是解决写死程序的ip怎么能切换的ip,也可扩展,用途广泛。可配置多个。
master配置注意:
state 决定主从 master 是主 backup 是从
priority 节点优先级设置 我这 master设置的100
virtual_ipaddress 虚拟ip地址,设置为192.168.174.119
从机backup配置
vrrp_script chk_nginx {
script "/etc/keepalived/nginx_check.sh" #运行脚本,脚本内容下面有,就是起到一个nginx宕机以后,自动开启服务
interval 2 #检测时间间隔
weight -20 #如果条件成立的话,则权重 -20
}
# 定义虚拟路由,VI_1 为虚拟路由的标示符,自己定义名称
vrrp_instance VI_1 {
state BACKUP #来决定主从
interface ens33 # 绑定虚拟 IP 的网络接口,根据自己的机器填写
virtual_router_id 121 # 虚拟路由的 ID 号, 两个节点设置必须一样
mcast_src_ip 192.168.174.141 #填写本机ip
priority 90 # 节点优先级,主要比从节点优先级高
nopreempt # 优先级高的设置 nopreempt 解决异常恢复后再次抢占的问题
advert_int 1 # 组播信息发送间隔,两个节点设置必须一样,默认 1s
authentication {
auth_type PASS
auth_pass 1111
}
# 将 track_script 块加入 instance 配置块
track_script {
chk_nginx #执行 Nginx 监控的服务
}
virtual_ipaddress {
192.168.174.119 # 虚拟ip,也就是解决写死程序的ip怎么能切换的ip,也可扩展,用途广泛。可配置多个。
}
}
state 设置注意
state 为 backup
priority 我自己设置的为90 为了让主节点优先级高
virtual_ipaddress 设置的虚拟ip 为了启动后可以去访问
3.启动多机keepalived
两个服务器配置好了后 重启keepalived(也会间接启动nginx)
4.测试
使用页面访问nginx
首先是两个物理地址的nginx
138的(master)
141的(backup)
这时候用119的虚拟ip打开(两个服务都正常情况下)会去访问138服务
我把138服务停掉,模拟138的主服务器断开了,且无法启动
再次访问119ip地址
从138变成了141 我再将138的服务重启。访问
这个时候就又是138的ip服务器上了
以上