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网站根目录更改及导致403 forbidden的问题解决
最近因为工作需要,要将Nginx网站根目录更改下,通过网上的一些教程更改后,但发现测试的时候一直提示403 forbidden错误,后台通过一个朋友的提示也解决了,所以现在将详细的步骤分享给大家,有需要的朋友们可以参考学习。2016-10-10Nginx配置PATHINFO隐藏thinkphp index.php
这篇文章主要介绍了Nginx配置PATHINFO隐藏thinkphp index.php,本文直接给出配置示例,需要的朋友可以参考下2015-07-07Nginx配置srcache_nginx模块搭配Redis建立缓存系统
这篇文章主要介绍了Nginx配置srcache_nginx模块搭配Redis建立缓存系统的方法,文中关于Nginx模块和Redis数据库的安装就不再说明了,这里只关注配置搭建阶段,需要的朋友可以参考下2016-01-01详解nginx同一端口监听多个域名和同时监听http与https
这篇文章主要介绍了详解nginx同一端口监听多个域名和同时监听http与https的相关资料,需要的朋友可以参考下2017-05-05
最新评论