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

news/2024/7/10 0:10:09 标签: lvs, 负载均衡, 运维, nginx, tomcat, linux, 数据库

目录

前言

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

nginx%E4%BD%9C%E4%B8%BAlvs%E7%9A%84%E5%90%8E%E7%AB%AF%E8%8A%82%E7%82%B9%E6%9C%8D%E5%8A%A1%E5%99%A8%EF%BC%8C%E5%AE%8C%E6%88%90lo%3A0%E7%BD%91%E5%8D%A1%E9%85%8D%E7%BD%AE%EF%BC%8C%E4%BB%A5%E5%8F%8A%E5%86%85%E6%A0%B8%E5%8F%82%E6%95%B0%E8%AE%BE%E7%BD%AE%EF%BC%8C%E8%BF%98%E6%9C%89%E8%AE%BE%E7%BD%AE%E8%B7%AF%E7%94%B1%E8%A1%A8-toc" style="margin-left:0px;">二、nginx作为lvs的后端节点服务器,完成lo:0网卡配置,以及内核参数设置,还有设置路由表

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

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

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

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

nginx%E6%9C%8D%E5%8A%A1%E5%99%A8%E5%8F%AF%E4%BB%A5%E9%80%9A%E8%BF%87php-fpm%E5%A4%84%E7%90%86%E5%8A%A8%E6%80%81%E9%A1%B5%E9%9D%A2%E8%AF%B7%E6%B1%82-toc" style="margin-left:0px;">三、节点服务器:192.168.20.10,完成php-fpm配置文件修改,允许两个nginx服务器可以通过php-fpm处理动态页面请求

nginx%E7%9A%84%E5%9C%B0%E5%9D%80-toc" style="margin-left:40px;">步骤一:php和mysql都部署在192.168.20.10主机上,启动mysql和php服务,修改php的配置文件www.conf,修改监听的地址为物理地址,允许客户端地址为两个nginx的地址

nginx%E6%9C%8D%E5%8A%A1%E5%99%A8%EF%BC%8C%E5%BC%80%E5%90%AFfastcgi%E6%8E%A5%E5%8F%A3%EF%BC%8C%E5%85%81%E8%AE%B8%E4%BB%A5php%E7%BB%93%E5%B0%BE%E7%9A%84%E9%A1%B5%E9%9D%A2%E5%AE%8C%E6%88%90location%E5%8C%B9%E9%85%8D%E8%BF%9B%E8%A1%8C%E7%9B%B8%E5%BA%94%E7%9A%84%E8%BD%AC%E5%8F%91-toc" style="margin-left:40px;">步骤二:修改两个nginx服务器,开启fastcgi接口,允许以php结尾的页面完成location匹配进行相应的转发

步骤三:验证结果

四、LVS调度器的配置

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

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

步骤三:加载ip_vs模块

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

步骤五:验证结果


前言

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

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

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

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

nginx%E4%BD%9C%E4%B8%BAlvs%E7%9A%84%E5%90%8E%E7%AB%AF%E8%8A%82%E7%82%B9%E6%9C%8D%E5%8A%A1%E5%99%A8%EF%BC%8C%E5%AE%8C%E6%88%90lo%3A0%E7%BD%91%E5%8D%A1%E9%85%8D%E7%BD%AE%EF%BC%8C%E4%BB%A5%E5%8F%8A%E5%86%85%E6%A0%B8%E5%8F%82%E6%95%B0%E8%AE%BE%E7%BD%AE%EF%BC%8C%E8%BF%98%E6%9C%89%E8%AE%BE%E7%BD%AE%E8%B7%AF%E7%94%B1%E8%A1%A8">二、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

nginx%E6%9C%8D%E5%8A%A1%E5%99%A8%E5%8F%AF%E4%BB%A5%E9%80%9A%E8%BF%87php-fpm%E5%A4%84%E7%90%86%E5%8A%A8%E6%80%81%E9%A1%B5%E9%9D%A2%E8%AF%B7%E6%B1%82">三、节点服务器:192.168.20.10,完成php-fpm配置文件修改,允许两个nginx服务器可以通过php-fpm处理动态页面请求

nginx%E7%9A%84%E5%9C%B0%E5%9D%80">步骤一:php和mysql都部署在192.168.20.10主机上,启动mysql和php服务,修改php的配置文件www.conf,修改监听的地址为物理地址,允许客户端地址为两个nginx的地址

nginx%E6%9C%8D%E5%8A%A1%E5%99%A8%EF%BC%8C%E5%BC%80%E5%90%AFfastcgi%E6%8E%A5%E5%8F%A3%EF%BC%8C%E5%85%81%E8%AE%B8%E4%BB%A5php%E7%BB%93%E5%B0%BE%E7%9A%84%E9%A1%B5%E9%9D%A2%E5%AE%8C%E6%88%90location%E5%8C%B9%E9%85%8D%E8%BF%9B%E8%A1%8C%E7%9B%B8%E5%BA%94%E7%9A%84%E8%BD%AC%E5%8F%91">步骤二:修改两个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结尾的动态页面资源 


http://www.niftyadmin.cn/n/5268611.html

相关文章

uniapp之屏幕右侧出现滚动条去掉、隐藏、删除【好用!】

目录 问题解决大佬地址最后 问题 解决 在最外层view上加上class“content”;输入以下样式。注意:两个都必须存在在生效。 .content {/* 跟屏幕高度一样高,不管view中有没有内容,都撑开屏幕高的高度 */height: 100vh; overflow: auto; } .content::-webkit-scrollb…

风速预测(五)基于Pytorch的EMD-CNN-LSTM模型

目录 前言 1 风速数据EMD分解与可视化 1.1 导入数据 1.2 EMD分解 2 数据集制作与预处理 2.1 先划分数据集,按照8:2划分训练集和测试集 2.2 设置滑动窗口大小为96,制作数据集 3 基于Pytorch的EMD-CNN-LSTM模型预测 3.1 数据加载&…

UniGUI之提示信息MessageDlg及获得信息Prompt

UniGui的信息弹出框MessageDlg的原型定义如下: procedure MessageDlg(const Msg: string; DlgType: TMsgDlgType; Buttons: TMsgDlgButtons; CallBack: TUniDialogCallBackAnonProc); 1. 其中DlgType(对话框架的类型) 1、mtConfirmation 2、mtCustom 3、mtError…

7个精选的矢量数据库和搜索引擎项目

目录 矢量数据库简介1.Milvus相似性搜索引擎2.Qdrant下一代矢量数据库3.Chroma嵌入式数据库4.Weaviate矢量数据库5.RediSearch全文搜索引擎6.矢量数据库7.Vald分布式向量搜索引擎 矢量数据库简介 向量数据库是一种用于存储、检索和分析向量的数据库。在图片搜索、语音搜索等应…

时序预测 | Python实现LSTM-Attention-XGBoost组合模型电力需求预测

时序预测 | Python实现LSTM-Attention-XGBoost组合模型电力需求预测 目录 时序预测 | Python实现LSTM-Attention-XGBoost组合模型电力需求预测预测效果基本描述程序设计参考资料预测效果 基本描述 该数据集因其每小时的用电量数据以及 TSO 对消耗和定价的相应预测而值得注意,从…

ES-组合与聚合

ES组合查询 1 must 满足两个match才会被命中 GET /mergeindex/_search {"query": {"bool": {"must": [{"match": {"name": "liyong"}},{"match_phrase": {"desc": "liyong"}}]}}…

基于vue+element-plus+echarts制作动态绘图页面(柱状图,饼图和折线图)

前言 我们知道echarts是一个非常强大的绘图库,基于这个库,我们可以绘制出精美的图表。对于一张图来说,其实比较重要的就是配置项,填入不同的配置内容就可以呈现出不同的效果。 当然配置项中除了样式之外,最重要的就是…

函数难题:排列

给定一个整数 n,将数字 1∼n 排成一排,将会有很多种排列方法。 现在,请你按照字典序将所有的排列方法输出。 输入格式 共一行,包含一个整数 n。 输出格式 按字典序输出所有排列方案,每个方案占一行。 数据范围 …