keepalived+lvs 对nginx做负载均衡和高可用的操作方法

 更新时间:2023年12月12日 09:08:27   作者:清___风  
这篇文章主要介绍了keepalived+lvs 对nginx做负载均衡和高可用的操作方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧

keepalived+lvs 对nginx做负载均衡和高可用

LVS_Director + KeepAlived
 
KeepAlived在该项目中的功能:
1. 管理IPVS的路由表(包括对RealServer做健康检查)
2. 实现调度器的HA
http://www.keepalived.org
 
Keepalived所执行的外部脚本命令建议使用绝对路径
=================================================================================
实施步骤:
1. 主/备调度器安装软件
[root@lvs-keepalived-master ~]# yum -y install ipvsadm keepalived 
[root@lvs-keepalived-slave ~]# yum -y install ipvsadm keepalived
2. Keepalived
lvs-master
[root@ha-proxy-master ~]# vim /etc/keepalived/keepalived.conf
! Configuration File for keepalived
 
global_defs {
   router_id lvs-keepalived-master    #辅助改为lvs-backup
}
 
vrrp_instance VI_1 {
    state MASTER
    interface ens33                #VIP绑定接口
    virtual_router_id 80         #VRID 同一组集群,主备一致          
    priority 100            #本节点优先级,辅助改为50
    advert_int 1            #检查间隔,默认为1s
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.246.110/32
    }
}
 
virtual_server 192.168.246.110 80 {    #LVS配置
	delay_loop 6   #健康检查rs时间间隔
	lb_algo rr     #LVS调度算法
	lb_kind DR     #LVS集群模式(路由模式)
	protocol TCP      #健康检查使用的协议
	real_server 192.168.246.162 80 {
		weight 1
		inhibit_on_failure   #当该节点失败时,把权重设置为0,而不是从IPVS中删除
		TCP_CHECK {          #健康检查
			connect_port 80   #检查的端口
			connect_timeout 3  #连接超时的时间
			}
		}
	real_server 192.168.246.163 80 {
		weight 1
		inhibit_on_failure
		TCP_CHECK {
			connect_timeout 3
			connect_port 80
			}
		}
}
 
[root@lvs-keepalived-slave ~]# vim /etc/keepalived/keepalived.conf
! Configuration File for keepalived
 
global_defs {
   router_id lvs-keepalived-slave
}
 
vrrp_instance VI_1 {
    state BACKUP
    interface ens33
    virtual_router_id 80
    priority 50
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.246.110/24
    }
}
virtual_server 192.168.246.110 80 {
	delay_loop 6
	lb_algo rr
	lb_kind DR
	protocol TCP
	real_server 192.168.246.162 80 {
		weight 1
		inhibit_on_failure
		TCP_CHECK {
			connect_port 80
			connect_timeout 3
			}
		}
	real_server 192.168.246.163 80 {
		weight 1
		inhibit_on_failure
		TCP_CHECK {
			connect_timeout 3
			connect_port 80
			}
		}
}
3. 启动KeepAlived(主备均启动)
[root@lvs-keepalived-master ~]# systemctl start keepalived
[root@lvs-keepalived-master ~]# systemctl enable keepalived
 
[root@lvs-keepalived-master ~]# ipvsadm -Ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  192.168.246.110:80 rr persistent 20
  -> 192.168.246.162:80           Route   1      0          0         
  -> 192.168.246.163:80           Route   0      0          0
 
4. 所有RS配置(nginx1,nginx2)
配置好网站服务器,测试所有RS
[root@test-nginx1 ~]# yum install -y nginx
[root@test-nginx2 ~]# yum install -y nginx
[root@test-nginx1 ~]# ip addr add dev lo 192.168.246.110/32
[root@test-nginx1 ~]# echo "net.ipv4.conf.all.arp_ignore = 1" >> /etc/sysctl.conf
[root@test-nginx1 ~]# sysctl -p
[root@test-nginx1 ~]# echo "web1..." >> /usr/share/nginx/html/index.html
[root@test-nginx1 ~]# systemctl start nginx

注意事项:如果之前配置了vip,导致显示不了vip

需要执行systemctl stop keepalived #先停止在重启

` systemctl start keepalived  `

即可显示vip

到此这篇关于keepalived+lvs 对nginx做负载均衡和高可用的文章就介绍到这了,更多相关nginx负载均衡和高可用内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Nginx配置SSL和WSS步骤介绍

    Nginx配置SSL和WSS步骤介绍

    大家好,本篇文章主要讲的是Nginx配置SSL和WSS步骤介绍,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下,方便下次浏览
    2021-12-12
  • nginx keepalive的具体使用

    nginx keepalive的具体使用

    这篇文章主要介绍了nginx keepalive的具体使用,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-10-10
  • nginx 504 Gateway Time-out错误解决方法

    nginx 504 Gateway Time-out错误解决方法

    我们经常会发现大量的nginx服务器访问时会提示nginx 504 Gateway Time-out错误了,下面我来总结了一些解决办法,有需要了解的同学可进入参考
    2014-11-11
  • nginx中使用nginx-http-concat模块合并静态资源文件

    nginx中使用nginx-http-concat模块合并静态资源文件

    这篇文章主要介绍了nginx中使用nginx-http-concat模块合并静态资源文件,用以加速网站的CSS、JS等静态资源载入速度,需要的朋友可以参考下
    2014-06-06
  • nginx反向代理二级域名绑定方法及注意事项

    nginx反向代理二级域名绑定方法及注意事项

    本文介绍了利用nginx实现多域名和多站点的绑定的方法及相关注意事项,需要的朋友可以参考下
    2018-04-04
  • Nginx解决history模式下页面刷新404问题示例

    Nginx解决history模式下页面刷新404问题示例

    这篇文章主要为大家介绍了Nginx解决history模式下页面刷新404问题示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-10-10
  • Nginx配置ssl证书方式(https证书)

    Nginx配置ssl证书方式(https证书)

    文章介绍了HTTPS协议通过SSL加密提升安全性,指导如何在Nginx中配置SSL模块,包括容器启动、证书部署、端口设置及TLS协议升级,以解决安全漏洞问题
    2025-07-07
  • Nginx转发真实的IP的项目实践

    Nginx转发真实的IP的项目实践

    本文介绍了Nginx中通过设置proxy_set_header指令来转发请求并带上真实IP,以便Java程序能够正确获取并判断请求来源,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2026-01-01
  • Nginx upstream使用教程

    Nginx upstream使用教程

    本文主要介绍了Nginx upstream使用教程,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-06-06
  • nginx+lua+redis防刷和限流的实现

    nginx+lua+redis防刷和限流的实现

    本文将介绍如何使用nginx lua redis实现防刷和限流,首先,我们将了解防刷和限流的基本概念和必要性,然后,我们将详细介绍如何使用nginx lua redis实现防刷和限流,感兴趣的可以了解一下
    2023-09-09

最新评论