keepalived安装配置(服务器主备、负载均衡)

系统拓扑

安装keepalived

主备服务器上都需要安装

在线安装

复制代码
yum install  -y  keepalived 

离线安装

复制代码
# todo

服务器准备

虚拟机ip:192.168.11.56

主服务器:192.168.11.53

备服务器:192.168.11.54

配置文件修改

keepalived安装之后,在 etc 里面生成目录 keepalived,有文件 keepalived.conf

主服务器配置文件

hostname 需要修改

hostname获取方式 :在命令行中输入hostname

网卡命令需要修改:interface这个字段的值

查看网卡信息:输入下面命令

复制代码
ip  a

下图中ens33就是网卡名字

虚拟ip需要修改:virtual_ipaddress 这个字段

复制代码
global_defs {

    router_id localhost.localdomain # 访问到主机,本机的hostname,需要修改
}
 
vrrp_script chk_http_port {
    script "/usr/local/src/nginx_check.sh" # 检测脚本位置
    interval 2 #(检测脚本执行的间隔)
    weight 2 # 权重
}
 
vrrp_instance VI_1 {
    state MASTER # 备份服务器上将 MASTER 改为 BACKUP,需要修改
    interface ens33 # 网卡名字,使用ifconfig查看,需要修改
    virtual_router_id 51 # 主、备机的 virtual_router_id 不能相同
    priority 100 # 主、备机取不同的优先级,主机值较大,备份机值较小,一般主100从90
    advert_int 1 # 每隔1秒发送心跳
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.11.56 #// VRRP H 虚拟地址,也可以绑定多个虚拟ip,需要修改
    }
}

备服务器配置文件

复制代码
global_defs {

    router_id localhost.localdomain # 访问到主机,本机的hostname,需要修改
}
 
vrrp_script chk_http_port {
    script "/usr/local/src/nginx_check.sh" # 检测脚本位置
    interval 2 #(检测脚本执行的间隔)
    weight 2 # 权重
}
 
vrrp_instance VI_1 {
    state BACKUP # 备份服务器上将 MASTER 改为 BACKUP,需要修改
    interface ens33 # 网卡名字,使用ifconfig查看,需要修改
    virtual_router_id 59 # 主、备机的 virtual_router_id 不能相同
    priority 90 # 主、备机取不同的优先级,主机值较大,备份机值较小,一般主100从90
    advert_int 1 # 每隔1秒发送心跳
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.11.56 #// VRRP H 虚拟地址,也可以绑定多个虚拟ip,需要修改
    }
}

监测脚本

监测脚本路径:/usr/local/src/nginx_check.sh

功能:检测nginx是否启动,如果停了就重启,如果还是起不来,就停止keepalived。

主备服务器上都需要配置

复制代码
#!/bin/bash
A=`ps -C nginx -- no-header |wc -l`
if [ $A -eq 0 ];then
    /usr/sbin/nginx #nginx启动路径
    sleep 2
    if [ `ps -C nginx --no-header |wc -l` -eq 0 ];then
        killall keepalived
    fi
fi

启动keepalived

复制代码
systemctl start keepalived.service

nginx部署

nginx web页面修改

nginx配置文件路径:/etc/nginx/nginx.conf,该配置文件引用了/etc/nginx/conf.d/default.conf

打开/etc/nginx/conf.d/default.conf配置文件可以看到html页面的路径

复制代码
/usr/share/nginx/html 为路径
复制代码
 index.html为页面

进入到对应路径下

打开页面文件,修改信息,作为访问的服务器的标记,比如我服务器是54,我就在页面中加上54

具体访问呈现效果如下

相关推荐
Elastic 中国社区官方博客3 小时前
使用 Elastic Cloud Serverless 扩展批量索引
大数据·运维·数据库·elasticsearch·搜索引擎·云原生·serverless
超龄超能程序猿4 小时前
Docker GPU插件(NVIDIA Container Toolkit)安装
运维·docker·容器
Xの哲學4 小时前
Linux SMP 实现机制深度剖析
linux·服务器·网络·算法·边缘计算
2501_906150565 小时前
私有部署问卷系统操作实战记录-DWSurvey
java·运维·服务器·spring·开源
知识分享小能手5 小时前
Ubuntu入门学习教程,从入门到精通,Ubuntu 22.04的Linux网络配置(14)
linux·学习·ubuntu
钦拆大仁5 小时前
单点登录SSO登录你了解多少
服务器·sso
皇族崛起5 小时前
【视觉多模态】- scannet 数据的 Ubuntu 百度网盘全速下载
linux·ubuntu·3d建模·dubbo
岳来5 小时前
docker 从 Path 值看容器启动命令
运维·docker·容器
CAU界编程小白5 小时前
Linux系统编程系列之进程控制(下)
linux·进程控制
only火车头5 小时前
升级 ceph (16.2 -> 18.2) ceph mon 启动失败
服务器·ceph