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

具体访问呈现效果如下

相关推荐
kunge201329 分钟前
Ubuntu22.04 安装virtualbox7.1
linux·virtualbox
清溪54930 分钟前
DVWA中级
linux
m0_7482540941 分钟前
2025最新华为云国际版注册图文流程-不用绑定海外信用卡注册
服务器·数据库·华为云
MUY09901 小时前
应用控制技术、内容审计技术、AAA服务器技术
运维·服务器
楠奕1 小时前
elasticsearch8.12.0安装分词
运维·jenkins
Sadsvit1 小时前
源码编译安装LAMP架构并部署WordPress(CentOS 7)
linux·运维·服务器·架构·centos
xiaok1 小时前
为什么 lsof 显示多个 nginx 都在 “使用 443”?
linux
java资料站1 小时前
Jenkins
运维·jenkins
苦学编程的谢2 小时前
Linux
linux·运维·服务器
G_H_S_3_2 小时前
【网络运维】Linux 文本处理利器:sed 命令
linux·运维·网络·操作文本