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

 

LVS_Director + KeepAlivedKeepAlived在该项目中的功能:
1. 管理IPVS的路由表(包括对RealServer做健康检查)
2. 实现调度器的HA
http://www.keepalived.orgKeepalived所执行的外部脚本命令建议使用绝对路径
=================================================================================
实施步骤:
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 keepalivedglobal_defs {router_id lvs-keepalived-master    #辅助改为lvs-backup
}vrrp_instance VI_1 {state MASTERinterface ens33                #VIP绑定接口virtual_router_id 80         #VRID 同一组集群,主备一致          priority 100            #本节点优先级,辅助改为50advert_int 1            #检查间隔,默认为1sauthentication {auth_type PASSauth_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 1inhibit_on_failure   #当该节点失败时,把权重设置为0,而不是从IPVS中删除TCP_CHECK {          #健康检查connect_port 80   #检查的端口connect_timeout 3  #连接超时的时间}}real_server 192.168.246.163 80 {weight 1inhibit_on_failureTCP_CHECK {connect_timeout 3connect_port 80}}
}[root@lvs-keepalived-slave ~]# vim /etc/keepalived/keepalived.conf
! Configuration File for keepalivedglobal_defs {router_id lvs-keepalived-slave
}vrrp_instance VI_1 {state BACKUPinterface ens33virtual_router_id 80priority 50advert_int 1authentication {auth_type PASSauth_pass 1111}virtual_ipaddress {192.168.246.110/24}
}
virtual_server 192.168.246.110 80 {delay_loop 6lb_algo rrlb_kind DRprotocol TCPreal_server 192.168.246.162 80 {weight 1inhibit_on_failureTCP_CHECK {connect_port 80connect_timeout 3}}real_server 192.168.246.163 80 {weight 1inhibit_on_failureTCP_CHECK {connect_timeout 3connect_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          04. 所有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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/209380.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

深度解析IP应用场景API:提升风险控制与反欺诈能力

前言 在当今数字化时代,网络安全和用户数据保护成为企业日益关注的焦点。IP应用场景API作为一种强大的工具,不仅能够在线调用接口获取IP场景属性,而且具备识别IP真人度的能力,为企业提供了卓越的风险控制和反欺诈业务能力。本文将…

Java数据结构06——树

1.why: 数组&链表&树 2. 大纲 2.1前中后序 public class HeroNode {private int no;private String name;private HeroNode left;//默认为nullprivate HeroNode right;//默认为nullpublic HeroNode(int no, String name) {this.no no;this.name name;}public int …

Ubuntu编译文件安装SNMP服务

net-snmp源码下载 http://www.net-snmp.org/download.html 编译步骤 指定参数编译 ./configure --prefix/root/snmpd --with-default-snmp-version"2" --with-logfile"/var/log/snmpd.log" --with-persistent-directory"/var/net-snmp" --wi…

MinIO集群模式信息泄露漏洞(CVE-2023-28432)

前言:MinIO是一个用Golang开发的基于Apache License v2.0开源协议的对象存储服务。虽然轻量,却拥有着不错的性能。它兼容亚马逊S3云存储服务接口,非常适合于存储大容量非结构化的数据。该漏洞会在前台泄露用户的账户和密码。 0x00 环境配置 …

html、css类名命名思路整理

开发页面时,老是遇到起名问题,越想越头疼,严重影响开发进度,都是在想名字,现在做一下梳理,统一一下思想,希望以后能减少这块的痛苦。 命名规则 [功能名称]__[组成部分名称]--[样式名称] 思路…

MySQL生产环境_使用SQL中的ROW_NUMBER()函数查找每个ID的最新记录

生产需求 应生产环境要求,需要获取到每个id的最新位置及其他GL属性 ROW_NUMBER函数 ROW_NUMBER()函数是一种窗口函数,可以根据指定的列对结果集中的行进行编号。通过结合PARTITION BY子句和ORDER BY子句,ROW_NUMBER()函数能够对数据进行分组…

空间运算设备-Apple Vision Pro

苹果以其在科技领域的创新而闻名,他们致力于推动技术的边界,这在他们的产品中表现得非常明显。他们尝试开发一项的新型突破性显示技术。在 2023 年 6 月 5 日官网宣布将发布 Apple Vision Pro 头戴空间设备,我们一起来了解一下 Apple Vision …

SVPWM原理及simulink

关注微♥“电击小子程高兴的MATLAB小屋”获得专属优惠 一.SVPWM原理 SPWM常用于变频调速控制系统,经典的SPWM控制主要目的是使变频器的输出电压尽量接近正弦波,并未关注输出的电流波形。而矢量控制的最终目的是得到圆形的旋转磁场,这样就要求…

【面试常考题目】五种方法解决“如何在n个无序数组中找出它的中位数(java)”问题

1.3 从N个数组中找到中位数,每一个数组可能乱序 在LeetCode上,"寻找多个数组的中位数"这类问题通常是由两个数组合并中位数问题(即LeetCode第4题)的变种或扩展。直接对应于多个数组合并后寻找中位数的题目在LeetCode上…

BeyondCompare-过期-mac电脑

在/Applications/Beyond Compare.app/Contents/MacOS/目录下的BCompare程序是BeyondCompare的可执行文件。 在 /Users/username/Library/Application Support/Beyond Compare/目录下的registry.dat文件是存储程序注册信息的。包括刚开始使用的时间。 想要无限的使用BeyondCompa…

根据图片生成前端代码:GPT vesion 助你释放效能 | 开源日报 No.98

php/php-src Stars: 36.4k License: NOASSERTION PHP 是一种流行的通用脚本语言,特别适合 Web 开发。快速、灵活和实用,PHP 支持从博客到世界上最受欢迎的网站等各种应用。PHP 遵循 PHP 许可证 v3.01 发布。 主要功能: 提供强大而灵活的脚…

代码随想录算法训练营 ---第五十六天

今天同样是 动态规划:编辑距离问题! 第一题: 简介: 本题有两个思路: 1.求出最长公共子串,然后返还 word1.length()word2.length()-2*dp[word1.size()][word2.size()] 本思路解法与求最长公共子串相同&…

Mybatis XML改查操作(结合上文)

"改"操作 先在UserInfoXMLMapper.xml 中 : <?xml version"1.0" encoding"UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd"><map…

无向图的邻接表

在无向图中&#xff0c;边是双向的&#xff0c;因此构建邻接表时需要考虑两个方向。下面是一个简单的 JavaScript 代码示例&#xff0c;用于构建无向图的邻接表&#xff1a; // 示例数据 const links [{ source: 1, target: 0 },{ source: 2, target: 0 },// ... 其他链接 ];…

主窗体、QFile、编码转换、事件、禁止输入特殊字符

主窗体 部件构成 菜单栏、工具栏、主窗体、状态栏。 UI 编辑器设计主窗体 &#x1f4a1; 简易记事本的实现&#xff08;part 1&#xff09; 菜单栏 工具栏&#xff08;图标&#xff09; 主窗体 完善菜单栏&#xff1a; mainwindow.cpp #include "mainwindow.h"…

java8 常用code

文章目录 前言一、lambda1. 排序1.1 按照对象属性排序&#xff1a;1.2 字符串List排序&#xff1a;1.3 数据库排序jpa 2. 聚合2.1 基本聚合&#xff08;返回对象list&#xff09;2.2 多字段组合聚合&#xff08;直接返回对象list数量&#xff09; 二、基础语法2.1 List2.1.1 数…

Holynix

信息收集阶段 存活主机探测&#xff1a;arp-scan -l 当然了&#xff0c;正常来说我们不应该使用arp进行探测&#xff0c;arp探测的是arp的缓存表&#xff0c;我们应该利用nmap进行探测&#xff01; nmap -sT --min-rate 10000 192.168.182.0/24 端口探测 nmap -sT --min-rat…

Navicat 技术指引 | 适用于 GaussDB 分布式的调试器

Navicat Premium&#xff08;16.3.3 Windows 版或以上&#xff09;正式支持 GaussDB 分布式数据库。GaussDB 分布式模式更适合对系统可用性和数据处理能力要求较高的场景。Navicat 工具不仅提供可视化数据查看和编辑功能&#xff0c;还提供强大的高阶功能&#xff08;如模型、结…

golang学习笔记——数据结构进阶

文章目录 数据结构进阶mapmap示例sliceinterfaceembedded 数据结构进阶 map map 读取某个值时 - 返回结果可以为 value,bool 或者 value。注意后者&#xff0c;在key不存在时&#xff0c;会返回value对应类型的默认值map 的 range 方法需要注意 - key,value 或者 key。注意后…

【数据结构】单调栈与单调队列算法总结

单调栈 知识概览 单调栈最常见的应用是找到每一个数离它最近的且比它小的数。单调栈考虑的方式和双指针类似&#xff0c;都是先想一下暴力做法是什么&#xff0c;然后再挖掘一些性质如单调性&#xff0c;最终可以把目光集中在比较少的状态中&#xff0c;从而达到降低时间复杂…