keepalived+nginx简单配置例子

环境:

  • 双机部署keepalived,一主一备(备可以多个)。
  • 主机ip:192.168.1.101,备机ip:192.168.1.102,虚拟ip:192.168.1.120<br>
  • 后端服务:实际可以利用nginx对web服务进行反向代理,这里仅使用nginx的静态页面index.html进行测试。

keepalived安装

  1. 在线安装:
# 仓库的keepalived可能是比较旧的版本,建议官网下载编译安装
sudo yum install keepalived
  1. 离线安装
  • 点击这里下载,建议使用2.0.0版本。

  • 解压

  • 进入目录

  • 开始安装,依次执行

# 需要跑这个才能自动生成系统服务文件(keepalived.service)
# 2.0.0版本没有这个,直接执行下面的步骤即可,也会自动建立系统服务文件
#./build_setup
# 安装配置,默认就可以
./configure
# 编译安装
sudo make && sudo make install

可能会出现依赖缺失的问题,查看解压目录下的INSTALL文件,里面有必须依赖说明。

配置

  • 建立keepalived配置文件软连接到keepalived默认的配置文件目录: /etc/keepalived/keepalived.conf
sudo ln -s /usr/local/etc/keepalived/keepalived.conf /etc/keepalived/keepalived.conf
  • 开启端口和vrrp协议支持
  1. 开启后端服务端口,这个示例只用到nginx的index.xml静态页面,端口号是:8001。

如果防火墙使用firewalld管理:

firewall-cmd --zone=public --add-port=8001/tcp --permanent

nginx.conf:

server {
    listen 8001;
    server_name localhost;
    
    location / {
        root html;
        index index.html index.htm;
    }
    ...
}
  1. 开启vrrp协议支持

其中enp0s3是网卡名称,使用ifconfig命令可以查看;224.0.0.18是keepalived的默认组播地址。

# 添加规则 
firewall-cmd --direct --permanent --add-rule ipv4 filter INPUT 0 --in-interface enp0s3 --destination 224.0.0.18 --protocol vrrp -j ACCEPT 
# 重启防火墙 
firewall-cmd --reload

修改keepalived配置文件keepalived.conf

sudo vim /etc/keepalived/keepalived.conf

修改完成的的主机配置文件内容:

  1. 其中interface是网卡名称,一般服务器都有两个网卡,一个内网一个外网,keepalived是客户端访问的,所以修改为外网网卡。
  2. virtual_ipaddress就是虚拟ip了,可以配置多个,用空格或者换行隔开。
  3. 删除所有virtual_server节点,virtual_server是lvs用到的,这个例子负载均衡用了nginx,不需要配置lvs。
  4. 复制或者同步配置文件到备机,修改vrrp_instance_VI_1下的stateBACKUP以及优先级priority,优先级priority要比主机的小。

启动测试

  • 主机和备机分别启动keepalived
sudo systemctl start keepalived.service

使用命令: sudo systemctl enable keepalived.service可以设置为开机启动。 使用命令: ip addr可以查看网卡的所有ip信息: 可以发现对应网卡上已经多了一个ip,这个ip就是我们设置的虚拟ip。 如果关闭了主机keepalived,会发现虚拟ip已经漂移到了备机上了。

  • 修改主备机的nginx首页静态页面,增加不同的标识以区分是来自那台机的页面

编译安装版的nginx的首页路径:/usr/local/nginx/html/index.html

  • 在浏览器上测试

浏览器输入: 192.168.1.120:8001,结果如下图:

关闭主机keepalived: sudo systemctl stop keepalived.service,刷新浏览器页面,结果如下图:

测试成功!

转载于:https://my.oschina.net/u/2347651/blog/3011463

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值