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

具体访问呈现效果如下

相关推荐
正午阳光下1 分钟前
LINUX下好用的图形化界面串口助手cutecom
linux·cutecom
Dovis(誓平步青云)3 分钟前
《场景化落地:用 Linux 共享内存解决进程间高效数据传输问题(终篇)》
linux·运维·服务器
LCG元5 分钟前
实战:打造你的专属 Linux 工作环境(Oh My Zsh + 插件推荐)
linux
java_logo7 分钟前
PERL Docker 容器化部署指南
linux·运维·docker·容器·eureka·centos·perl
敲上瘾9 分钟前
C++ ODB ORM 完全指南:从入门到实战应用
linux·数据库·c++·oracle·db
一直向钱23 分钟前
Ubuntu 服务器的无法使用WinSCP低版本连接登录
linux·服务器·ubuntu
歪歪10038 分钟前
解决多 Linux 客户端向 Windows 服务端的文件上传、持久化与生命周期管理问题
linux·运维·服务器·开发语言·前端·数据库·windows
麦嘟学编程42 分钟前
快速上手配置Zookeeper
linux·分布式·zookeeper
一匹电信狗1 小时前
【C++11】右值引用+移动语义+完美转发
服务器·c++·算法·leetcode·小程序·stl·visual studio
乌萨奇也要立志学C++1 小时前
【Linux】进程间通信(二)命名管道(FIFO)实战指南:从指令操作到面向对象封装的进程间通信实现
linux·服务器