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模块](#步骤三:加载 ip_vs模块)

[步骤四:安装ipvsadm 管理工具](#步骤四:安装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客户端验证结果

相关推荐
SkyWalking中文站3 小时前
认识 Horizon UI · 5/17:3D 基础设施地图
运维·监控·自动化运维
tntxia20 小时前
linux curl命令详解_curl详解
linux
扛枪的书生1 天前
Linux 网络管理器用法速查
linux
SkyWalking中文站1 天前
认识 Horizon UI · 1/17:SkyWalking 新一代可观测性控制台
运维·前端·监控
顺风尿一寸1 天前
Java Socket 内核之旅:从 SocketChannel.read() 到 tcp_recvmsg 与 epoll 的完整调用链路
linux
雪梨酱QAQ1 天前
Kubeneters HA Cluster部署
运维
江华森1 天前
Spring Cloud 微服务全栈实战:从 Eureka 到 Docker Compose 一文贯通
运维
江华森1 天前
Matplotlib 数据绘图基础入门
运维
XIAOHEZIcode1 天前
Ubuntu 终端美化全栈指南:Bash 到 Kitty 踩坑实录
linux·ubuntu·命令行
江华森1 天前
NumPy 数值计算基础入门
运维