LVS负载均衡器(DR模式)+nginx七层代理+tomcat多实例+php+mysql 实现负载均衡以及动静分离、数据库的调用!!!

目录

前言

一、nfs共享存储,为两个节点服务器提供静态网页共享

二、nginx作为lvs的后端节点服务器,完成lo:0网卡配置,以及内核参数设置,还有设置路由表

步骤一:先完成nfs共享存储挂载

步骤二:完成lo:0网卡配置,并且物理网卡的网关不能指向调度器,网关删除或修改,验证结果

步骤三:设置永久路由,并验证

步骤四:完成内核参数修改,并加载内核配置

三、节点服务器:192.168.20.10,完成php-fpm配置文件修改,允许两个nginx服务器可以通过php-fpm处理动态页面请求

步骤一:php和mysql都部署在192.168.20.10主机上,启动mysql和php服务,修改php的配置文件www.conf,修改监听的地址为物理地址,允许客户端地址为两个nginx的地址

步骤二:修改两个nginx服务器,开启fastcgi接口,允许以php结尾的页面完成location匹配进行相应的转发

步骤三:验证结果

四、LVS调度器的配置

步骤一:先完成vip的设置,在ens33:0网卡上设置

步骤二:修改内核参数设置,关闭路由转发

步骤三:加载ip_vs模块

步骤四:安装ipvsadm工具,进行LVS的DR模式配置

步骤五:验证结果


前言

搭建一个LVS四层代理+2个nginx七层代理+php和tomcat中间件+mysql数据库

实现负载均衡以及动静分离、数据库的调用!!!

一、nfs共享存储,为两个节点服务器提供静态网页共享

接着昨天的做,完成了nfs共享

二、nginx作为lvs的后端节点服务器,完成lo:0网卡配置,以及内核参数设置,还有设置路由表

两台七层代理的nginx服务器作为LVS的节点服务器,都需要完成以下配置:

步骤一:先完成nfs共享存储挂载

主机192.168.20.10

主机192.168.20.30

步骤二:完成lo:0网卡配置,并且物理网卡的网关不能指向调度器,网关删除或修改,验证结果

主机192.168.20.10

主机192.168.20.30

步骤三:设置永久路由,并验证

主机192.168.20.10

主机192.168.20.30

复制代码
route add -host 192.168.80.188 dev lo:0 ##临时添加静态路由

##永久添加静态路由的方法一:
vim /etc/rc.local
/sbin/route add -host 192.168.80.188 dev lo:0

chmod +x /etc/rc.d/rc.local


##永久添加静态路由的方法二:
[root@localhost ~]#vim /etc/sysconfig/static-routes
any host 192.168.20.188 dev lo:0

[root@localhost ~]#systemctl restart network
[root@localhost ~]#route -n

步骤四:完成内核参数修改,并加载内核配置

主机192.168.20.10

主机192.168.20.30

复制代码
net.ipv4.conf.lo.arp_ignore = 1   ###系统只响应目的IP为本地IP的ARP请求
net.ipv4.conf.lo.arp_announce = 2  
#系统不使用IP包的源地址来设置ARP请求的源地址,而选择发送接口的IP地址

net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2

三、节点服务器:192.168.20.10,完成php-fpm配置文件修改,允许两个nginx服务器可以通过php-fpm处理动态页面请求

步骤一:php和mysql都部署在192.168.20.10主机上,启动mysql和php服务,修改php的配置文件www.conf,修改监听的地址为物理地址,允许客户端地址为两个nginx的地址

步骤二:修改两个nginx服务器,开启fastcgi接口,允许以php结尾的页面完成location匹配进行相应的转发

主机192.168.20.10

主机192.168.20.30

步骤三:验证结果

主机192.168.20.30

主机192.168.20.10

四、LVS调度器的配置

步骤一:先完成vip的设置,在ens33:0网卡上设置

复制代码
DEVICE=ens33:0
ONBOOT=yes
IPADDR=192.168.20.188
NETMASK=255.255.255.255

步骤二:修改内核参数设置,关闭路由转发

复制代码
net.ipv4.ip_forward = 0  ##表示关闭路由转发
net.ipv4.conf.all.send_redirects = 0 ##表示关闭ICMP重定向
net.ipv4.conf.default.send_redirects = 0
net.ipv4.conf.ens33.send_redirects = 0

步骤三:加载ip_vs模块

复制代码
[root@localhost ~]#modprobe ip_vs
[root@localhost ~]#cat /proc/net/ip_vs
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port Forward Weight ActiveConn InActConn
[root@localhost ~]#yum install -y ipvsadm

步骤四:安装ipvsadm工具,进行LVS的DR模式配置

复制代码
[root@localhost ~]#ipvsadm-save >/etc/sysconfig/ipvsadm
[root@localhost ~]#systemctl start ipvsadm
[root@localhost ~]#systemctl status ipvsadm
复制代码
[root@localhost ~]#ipvsadm -C
[root@localhost ~]#ipvsadm -ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
[root@localhost ~]#ipvsadm -A -t 192.168.20.188:80 -s rr
[root@localhost ~]#ipvsadm -a -t 192.168.20.188:80 -r 192.168.20.10:80 -g
[root@localhost ~]#ipvsadm -a -t 192.168.20.188:80 -r 192.168.20.30:80 -g
[root@localhost ~]#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.20.188:80 rr
  -> 192.168.20.10:80             Route   1      0          0         
  -> 192.168.20.30:80             Route   1      0          0         
[root@localhost ~]#ipvsadm

步骤五:验证结果

静态页面处理

以jsp结尾的动态页面资源

以php结尾的动态页面资源

相关推荐
YangYang9YangYan1 天前
财务 BP 校招面试案例整理|业务场景题 + 数据案例,2027 届求职
大数据·数据库
j7~1 天前
【Linux 网络】四十.《网络基础(传输层协议:UDP、TCP)》--中篇
linux·tcp·tcp协议·确认应答机制·连接管理机制·tcp流量控制
牢姐与蒯1 天前
Linux进程间通信(三).基于匿名管道的进程池的实现
linux·运维·服务器·ubuntu
景煜拾年1 天前
RHCA-Docker知识点整理
运维·笔记
凤年徐1 天前
C++ 仿 muduo 高并发服务器:用户态缓冲区 Buffer 模块实现
linux·c++
隔窗听雨眠1 天前
KingbaseES性能优化实战指南:从操作系统调优到SQL等价改写的完整方法论
数据库·kingbasees
NineData1 天前
NineData 与统信服务器操作系统完成兼容认证
数据库·oracle·操作系统·软件·数据库管理工具·ninedata·统信
Java红桃峰峰日拱一卒1 天前
在jdk8的centos上安装jdk17
linux·jdk17·jdk8
M78佐菲1 天前
ARM学习笔记(1)
linux·arm开发·笔记·嵌入式硬件·学习
骇客野人1 天前
Redis 完整安装部署方案(Linux,分【源码编译】+【Docker】两种,推荐生产用源码,测试快速用 Docker)
运维