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

本文主要是介绍LVS负载均衡器(nat模式)+nginx(七层反向代理)+tomcat(多实例),实现负载均衡和动静分离,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

前言

一、配置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客户端验证结果

 

这篇关于LVS负载均衡器(nat模式)+nginx(七层反向代理)+tomcat(多实例),实现负载均衡和动静分离的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/511572

相关文章

springboot将lib和jar分离的操作方法

《springboot将lib和jar分离的操作方法》本文介绍了如何通过优化pom.xml配置来减小SpringBoot项目的jar包大小,主要通过使用spring-boot-maven-plugin... 遇到一个问题,就是每次maven package或者maven install后target中的ja

Java深度学习库DJL实现Python的NumPy方式

《Java深度学习库DJL实现Python的NumPy方式》本文介绍了DJL库的背景和基本功能,包括NDArray的创建、数学运算、数据获取和设置等,同时,还展示了如何使用NDArray进行数据预处理... 目录1 NDArray 的背景介绍1.1 架构2 JavaDJL使用2.1 安装DJL2.2 基本操

最长公共子序列问题的深度分析与Java实现方式

《最长公共子序列问题的深度分析与Java实现方式》本文详细介绍了最长公共子序列(LCS)问题,包括其概念、暴力解法、动态规划解法,并提供了Java代码实现,暴力解法虽然简单,但在大数据处理中效率较低,... 目录最长公共子序列问题概述问题理解与示例分析暴力解法思路与示例代码动态规划解法DP 表的构建与意义动

java父子线程之间实现共享传递数据

《java父子线程之间实现共享传递数据》本文介绍了Java中父子线程间共享传递数据的几种方法,包括ThreadLocal变量、并发集合和内存队列或消息队列,并提醒注意并发安全问题... 目录通过 ThreadLocal 变量共享数据通过并发集合共享数据通过内存队列或消息队列共享数据注意并发安全问题总结在 J

SpringBoot+MyBatis-Flex配置ProxySQL的实现步骤

《SpringBoot+MyBatis-Flex配置ProxySQL的实现步骤》本文主要介绍了SpringBoot+MyBatis-Flex配置ProxySQL的实现步骤,文中通过示例代码介绍的非常详... 目录 目标 步骤 1:确保 ProxySQL 和 mysql 主从同步已正确配置ProxySQL 的

JS 实现复制到剪贴板的几种方式小结

《JS实现复制到剪贴板的几种方式小结》本文主要介绍了JS实现复制到剪贴板的几种方式小结,包括ClipboardAPI和document.execCommand这两种方法,具有一定的参考价值,感兴趣的... 目录一、Clipboard API相关属性方法二、document.execCommand优点:缺点:

nginx部署https网站的实现步骤(亲测)

《nginx部署https网站的实现步骤(亲测)》本文详细介绍了使用Nginx在保持与http服务兼容的情况下部署HTTPS,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值... 目录步骤 1:安装 Nginx步骤 2:获取 SSL 证书步骤 3:手动配置 Nginx步骤 4:测

Idea实现接口的方法上无法添加@Override注解的解决方案

《Idea实现接口的方法上无法添加@Override注解的解决方案》文章介绍了在IDEA中实现接口方法时无法添加@Override注解的问题及其解决方法,主要步骤包括更改项目结构中的Languagel... 目录Idea实现接China编程口的方法上无法添加@javascriptOverride注解错误原因解决方

轻松上手MYSQL之JSON函数实现高效数据查询与操作

《轻松上手MYSQL之JSON函数实现高效数据查询与操作》:本文主要介绍轻松上手MYSQL之JSON函数实现高效数据查询与操作的相关资料,MySQL提供了多个JSON函数,用于处理和查询JSON数... 目录一、jsON_EXTRACT 提取指定数据二、JSON_UNQUOTE 取消双引号三、JSON_KE

MySql死锁怎么排查的方法实现

《MySql死锁怎么排查的方法实现》本文主要介绍了MySql死锁怎么排查的方法实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录前言一、死锁排查方法1. 查看死锁日志方法 1:启用死锁日志输出方法 2:检查 mysql 错误