LVS负载均衡器(nat模式)+nginx(七层反向代理)+tomcat(多实例),实现负载均衡和动静分离

news2024/12/22 16:03:57

目录

前言

一、配置nfs共享存储

二、配置2个nginx节点服务的网页页面

节点1:192.168.20.10

步骤一:修改网关指向调度器的内网ip地址

步骤二:将nfs共享的目录进行挂载,并修改nginx的配置文件中location的root指向挂载点

步骤三:测试是否可以查看静态文件

 节点2:192.168.20.10

三、配置lvs四层代理策略

步骤一:准备2张网卡,其中一个作为调度器内网的ip地址,另外一个作为调度器外网的ip地址

步骤二:开启路由转发

步骤三:加载 ip_vs模块

步骤四:安装ipvsadm 管理工具

最后,linux客户端验证结果

最后,Windows客户端验证结果


前言

本次实验的目标是实现LVS的四层反向代理,且为lvs的模式为nat模式,nginx做七层代理且为节点服务器,最终实现效果是通过vip为12.0.0.1,可以访问集群中的静态和动态页面 

我是在上一次的架构上做了调整,原本192.168.20.6做的是nginx的4层代理,现在使用lvs

一、配置nfs共享存储

 

[root@mini ~]# cd /opt
[root@mini opt]# ls
[root@mini opt]# mkdir accp benet
[root@mini opt]# echo 'this is accp web!' > /opt/accp/index.html
[root@mini opt]# echo 'this is benet web!' > /opt/benet/index.html
[root@mini opt]# systemctl start rpcbind.service
[root@mini opt]# systemctl start nfs.service

[root@mini ~]# vim /etc/exports
[root@mini ~]# exportfs -rv
exporting 192.168.20.0/24:/opt/benet
exporting 192.168.20.0/24:/opt/accp

二、配置2个nginx节点服务的网页页面

节点1:192.168.20.10

步骤一:修改网关指向调度器的内网ip地址

重启网络

route -n验证一下

[root@localhost /var/www/html]#vim /etc/sysconfig/network-scripts/ifcfg-ens33
[root@localhost /var/www/html]#systemctl restart network nginx
[root@localhost /var/www/html]#route -n

步骤二:将nfs共享的目录进行挂载,并修改nginx的配置文件中location的root指向挂载点

 

[root@localhost ~]#showmount -e 192.168.20.40
Export list for 192.168.20.40:
/usr/share *
/opt/benet 192.168.20.0/24
/opt/accp  192.168.20.0/24
[root@localhost ~]#mkdir -p /var/www/html
[root@localhost ~]#vim /etc/fstab 
192.168.20.40:/opt/accp /var/www/html nfs defaults,_netdev 0 0

[root@localhost ~]#mount -a

        location / { 
            root   /var/www/html;
            index  index.php index.html index.htm;
        }   

然后进行语法检查 并重启nginx服务

步骤三:测试是否可以查看静态文件

 节点2:192.168.20.10

三、配置lvs四层代理策略

步骤一:准备2张网卡,其中一个作为调度器内网的ip地址,另外一个作为调度器外网的ip地址

步骤二:开启路由转发

[root@localhost opt]#vim /etc/sysctl.conf 
[root@localhost opt]#sysctl -p
net.ipv4.ip_forward = 1

步骤三:加载 ip_vs模块

步骤四:安装ipvsadm 管理工具

[root@localhost yum.repos.d]#ipvsadm -C #清除原有策略
[root@localhost yum.repos.d]#ipvsadm -ln  ##查看策略内容
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
[root@localhost yum.repos.d]#ipvsadm -A -t 12.0.0.1:80 -s rr 
##这是添加一个VIP为12.0.0.1,并且调度算法为轮询

[root@localhost yum.repos.d]#ipvsadm -a -t 12.0.0.1:80 -r 192.168.20.10:80 -m
##在VIP为12.0.0.1的后端节点服务器中添加一个rip为192.168.20.10,并且使用nat模式

[root@localhost yum.repos.d]#ipvsadm -a -t 12.0.0.1:80 -r 192.168.20.30:80 -m
##在VIP为12.0.0.1的后端节点服务器中添加一个rip为192.168.20.30,并且使用nat模式

[root@localhost yum.repos.d]#ipvsadm
##启用调度策略

[root@localhost yum.repos.d]#ipvsadm-save > /etc/sysconfig/ipvsadm
##保存调度策略

[root@localhost yum.repos.d]#systemctl start ipvsadm.service
##启动ipvsadm服务

最后,linux客户端验证结果

最后,Windows客户端验证结果

 

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

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

相关文章

GPT 魔力涌现

GPT 二、Prompt 的典型构成 角色:给 AI 定义一个最匹配任务的角色,比如:「你是一位软件工程师」「你是一位小学老师」指示:对任务进行描述上下文:给出与任务相关的其它背景信息(尤其在多轮交互中&#xff…

“一键调整尺寸,轻松完成视频批量剪辑:批量放大视频尺寸“

你是否曾经遇到过需要批量调整视频尺寸的情况?无论是为了适应不同的播放平台,还是为了满足客户的特定需求,批量调整视频尺寸都是一项繁琐而耗时的工作。但是,现在有一种方法可以让你轻松完成这项任务,那就是使用我们的…

豪腾四海×实在RPA丨最懂财务的数字员工,为企业节省人天2000+

企业数字化转型,财务是一个重要的切入点。随着豪腾四海数字化业务不断展开,新的系统、流程和数据源被不断引入,财务部门面临的是不断暴增的对账、数电票处理、审计等日常工作。 “如此大的工作量,即使是经验丰富的资深财务&#…

设计模式——桥接模式(结构型)

引言 桥接模式是一种结构型设计模式, 可将一个大类或一系列紧密相关的类拆分为抽象和实现两个独立的层次结构, 从而能在开发时分别使用。 问题 抽象? 实现? 听上去挺吓人? 让我们慢慢来, 先考虑一个简单的…

【Oracle】创建表

目录 方法一:CREATE TABLE 语法 创建表示例1:创建stuinfo(学生信息表) 创建表示例2:添加stuinfo(学生信息表)约束 方法二:CREATE TABLE AS 语法 创建表示例3: 创建表示例4:实现对select查询的结果进行…

利用有限制通配符来提升API的灵活性

在Java中,有限制通配符(bounded wildcard)允许你在泛型中指定一个范围,从而提升API的灵活性。通配符使得你能够编写更通用、适用于多种类型的代码。以下是一个利用有限制通配符提升API灵活性的例子: 假设有一个简单的…

PR模板,复古怀旧电影效果视频制作PR项目工程文件

Premiere复古怀旧电影效果视频制作pr模板项目工程文件下载 这个PR模板以复古城市印象电影质感为特色,结合了电影和数字故障效果。包含6个场景。可以编辑文本、添加媒体和自定义颜色。包含视频教程。4K版本。不需要任何插件。 软件支持:PR2022 | 分辨率&a…

大数据Doris(三十六):Duplicate 模型(冗余模型)介绍

文章目录 Duplicate 模型(冗余模型)介绍 一、创建doris表 二、插入数据

RocketMQ Streams详解

一、RocketMQ Streams 概览 RocketMQ Streams是基于RocketMQ的轻量级流计算引擎。能以SDK方式被应用依赖,无须部署复杂的流计算服务端即可获得流计算能力。 因此具有资源消耗少、扩展性好、支持流计算算子丰富的特点。 1、整体架构​ 数据从RocketMQ中被RocketMQ-…

「X」Embedding in NLP|神经网络和语言模型 Embedding 向量入门

在「X」Embedding in NLP 进阶系列中,我们介绍了自然语言处理的基础知识——自然语言中的 Token、N-gram 和词袋语言模型。今天,我们将继续和大家一起“修炼”,深入探讨神经网络语言模型,特别是循环神经网络,并简要了解…

【postgresql】ERROR: INSERT has more expressions than target columns

执行下面sql insert into apply_account_cancellation3 select * from pply_account_cancellation; 返回下面错误信息 insert into apply_account_cancellation3 select * from apply_account_cancellation > ERROR: INSERT has more expressions than target colu…

ShardingSphereJDBC简单入门

ShardingSphere 介绍ShardingSphere-JDBCSharding-Sphere-ProxyShardingSphere-Sidecar混合架构运行模式DistSQL可拔插架构ShardingSphere的发展路线 主从复制ShardingSphere-JDBC功能SQL解析SQL支持程度SQL稳定支持SQL实验性支持 MySQL不支持SQL清单分页 数据分片垂直分片水平…

世界5G大会

会议名称:世界 5G 大会 时间:2023 年 12 月 5 日-12 月 8 日 地点:河南郑州 一、会议简介 世界 5G 大会,是由国务院批准,国家发展改革委、科技部、工 信部与地方政府共同主办,未来移动通信论坛联合属地主管厅局联合 承办,邀请全球友好伙伴共同打造的全球首个 5G 领域…

KITTI数据集处理为COCO数据集格式

KITTI作为自动驾驶常用数据集,被广泛的应用于自动驾驶目标检测等过程中。 首先是数据集类别合并,原始的KITTI数据集有九个类别,分别是: Car Van Truck Pedestrian Person_sitting Cyclist Tram Misc而我们在使用过程中&#xff0…

使用@ApiModel和@ApiModelProperty的技巧

在现代软件开发中,提供清晰全面的 API 文档 至关重要。ApiModel 和 ApiModelProperty 这样的代码注解在此方面表现出色,通过增强模型及其属性的元数据来丰富文档内容。它们的主要功能是为这些元素命名和描述,使生成的 API 文档更加明确。 Api…

Python Flask-Admin: 构建强大的 Flask 后台管理

概要 Flask-Admin 是一个基于 Flask 的后台管理框架,它提供了丰富的功能和灵活性,使得开发者能够轻松构建功能强大的后台管理系统。在本文中,我们将详细介绍 Flask-Admin 的安装、配置和使用,通过深入的示例代码演示其主要特性。…

【改进YOLOv8】生猪胖瘦评价分级系统:可重参化EfficientRepBiPAN优化Neck

1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 研究背景与意义: 随着计算机视觉和深度学习的快速发展,目标检测成为了计算机视觉领域的一个重要研究方向。目标检测的目标是在图像或视频中准确地识别和定…

LiteClient工具箱:降低成本,减少监管风险

​​发表时间:2023年9月14日 BSV区块链协会的工程团队一直在为即将推出的LiteClient而努力工作,这是一套模块化的组件,可使简易支付验证(SPV)变得更加便利。 借助LiteClient工具箱,交易所可以通过区块头中…

【学习笔记】JavaScript中的GC算法

1、内存管理 内存:由可读写单元组成,标识一片可操作的空间 管理: 认为的去操作一篇空间的申请、使用和释放 内存管理:开发者主动申请空间、使用空间、释放空间 管理流程: 申请-使用-释放 // 申请 let obj {} //使…

【电路笔记】-电容器

电容器 文章目录 电容器1、概述2、电容器的电容单位3、电容4、电容器示例15、电介质6、额定电压7、总结 电容器是简单的无源器件,当连接到电压源时,可以在极板上存储电荷。 1、概述 在本电容器简介文章中,我们将看到电容器是无源电子元件&am…