- A+
所属分类:linux技术
目录
1. 官网下载tar包
https://www.keepalived.org/
2. 上传到指定目录安装
./configure --prefix=/usr/local/keepalived --sysconf=/etc *** WARNING - this build will not support IPVS with IPv6. Please install libnl/libnl-3 dev libraries to support IPv6 with IPVS. 如果出现上述提示,则执行下面命令安装libnl: yum install -y libnl make && make install
3. 配置文件
cd /etc/keepalived cp keepalived.conf keepalived.conf.bak vim keepalived.conf
配置文件内容如下:
! Configuration File for keepalived global_defs { # 负载均衡标识,在局域网内应该是唯一的。一般为主机名。 router_id 主机名称 } vrrp_script chk_http_port { # 检测心跳执行的脚本 script "/usr/local/src/nginx_check.sh" # 检测脚本执行间隔,单位:秒 interval 4 weight 2 } vrrp_instance VI_1 { # 指定keepalived的角色,MASTER为主,BACKUP为备 state MASTER # 当前进行vrrp通讯的网络接口卡(当前centos的网卡) interface ens33 # 指定VRRP实例ID(虚拟路由编号),范围是0-255,主从要一直 virtual_router_id 202 # 优先级,数值越大,获取处理请求的优先级越高, 优先级高的将成为MASTER。 priority 100 # 指定发送VRRP通告的间隔,默认为1s(vrrp组播周期秒数) advert_int 1 # 设置验证类型和密码,MASTER和BACKUP必须使用相同的密码才能正常通信 authentication { # 指定认证方式。PASS简单密码认证(推荐),AH:IPSEC认证(不推荐)。 auth_type PASS # 指定认证所使用的密码。最多8位。 auth_pass 2020 } # 调用检测脚本 track_script { chk_http_port } # 定义虚拟ip(VIP),可多设,每行一个 virtual_ipaddress { 192.168.199.143 } }
4. 配置nginx检测脚本文件
cd /usr/local/src vim nginx_check.sh
脚本内容:
#!/bin/bash A=`ps -C nginx --no-header | wc -l` if [ $A -eq 0 ];then /usr/local/nginx-1.18.0/sbin/nginx sleep 4 if [ `ps -C nginx --no-header | wc -l` -eq 0 ];then killall keepalived fi fi
5. keepalived 启动/重启/停止/查看状态
systemctl start/restart/stop/status keepalived
注:启动keepalived会执行nginx检测脚本,此时如果nginx未启动则会同时启动nginx。
6. 查看日志
tail -f /var/log/messages
7. 浏览器访问虚拟IP地址
192.168.199.143