当前位置:论坛首页 > Linux面板 > Linux面板教程

新版负载均衡教程

发表在 Linux面板2020-10-29 11:48   [复制链接] 66 87438

负载均衡的简单原理大概如下图:


这里使用三台机器进行负载均衡配置
负载均衡服务部署在192.168.1.201,以下简称主控
后端节点192.168.1.112,192.168.1.109,以下简称节点

由于我们的负载均衡是使用nginx来搭建的,要先在主控机器上安装nginx,然后安装负载均衡插件。
安装好插件之后打开插件,点击【添加负载】按钮,显示如下

创建负载.png 高级模式创建负载.png
这里会看到区分成普通模式和高级模式

普通模式和之前的负载均衡使用没有什么区别,添加网站的域名,upstream资源的名字,选择会话跟随方式
然后添加节点,点击提交就可以了。
这里说明一下,如果你添加的节点没有设置该域名的网站为默认站点,会导致无法通过负载均衡访问后端节点,
这是因为从主控转发到节点也是用的你添加的这个域名,但是负载均衡节点里面没有这个域名,而你又没有设置默认的
站点,会导致在节点中通过这个域名找不到对应的server。
解决办法:只需要在节点对应的网站中添加该域名到域名列表即可



高级模式同样是添加网站的域名,然后选择默认要使用的节点资源,这里如果你先在【资源配置】页面添加了节点资源,
这里只需要勾选上就行,如果资源列表没有你想选择的资源,可以直接点击【添加资源】按钮进行添加
选择了默认的节点资源之后,可以打开自定义location按钮,会弹出自定义location的选项,可以自己定义location的匹配规则,
第一项发送的域名表示从负载均衡发送到后端节点在请求头中添加的域名。默认为$host,即你浏览器打开访问的域名,一般情况下选择默认即可
第二项是自定义的url匹配规则,需要自己填写
第三项是匹配url的方式,可以选择精确匹配,正则匹配等方式
第四项为选择upstream资源,即选择请求转发到的后端节点资源
自定义location如果不添加,默认会只添加开头匹配/这种方式。

菜单栏切换到【资源配置】,这里是对资源的管理,点击添加资源可以看到如下所示

添加资源.png
添加节点,这里添加192.168.1.112和192.168.1.109两个后端节点,资源名称自定义,会话跟随方式根据自己需求进行选择
如果选择了会话跟随方式,请求会转发到固定的后端节点,直到该节点访问失败被负载均衡判定为下线
如果关闭了会话跟随,负载均衡会以加权轮询的方式来访问后端节点

这里说下节点权重设置
如果有两个节点,一个权重设置为2,一个设置为1,那么如果有三个请求过来,如果没设置会话跟随,请求会落在权重为2的节点上两次,
落在权重为1的节点上一次。


我这里添加了网站www.aaa.com的负载均衡,默认资源选择的是aaa,aaa里面的节点是192.168.1.112和192.168.1.109
aaa.png QQ截图20201029115733.png

绑定host 192.168.1.201 www.aaa.com
浏览器打开www.aaa.com

QQ截图20201029115919.png QQ截图20201029115931.png
多次刷新,看到请求确实落在了不同的节点(因为我关闭了会话跟随,此时是加权轮询的负载均衡算法),
如果我打开会话跟随,不管怎么刷新请求都只会落在固定的节点,除非手动停掉该节点的后端服务,

那么负载均衡会自动下线掉该节点,再次刷新,请求会落在另外一个节点

使用道具 举报 只看该作者 回复
发表于 2021-11-25 09:56:12 | 显示全部楼层
各位付费用户,如果遇到问题请重新发帖,本帖目前仅做教程,不解决问题。
使用道具 举报 回复 支持 反对
发表于 2020-12-3 23:46:31 | 显示全部楼层
流量分么  访问的是每个节点的带宽 还是全算在主控上面?
使用道具 举报 回复 支持 2 反对 0
发表于 2020-12-1 10:15:23 | 显示全部楼层
罗掌柜 发表于 2020-11-8 13:26
几个服务器负载,不是同一个服务商,这几个可以不?

可定可以,负载均衡其实就是代理跳转,你请求A服务器,A服务器把你请求重定向到B,C,D服务器,这样分摊压力。也就是你的几个服务器只要能正常访问就可以~
但是,不同服务商可能存在的机房就不同,跨机房一般就无法享受机房内部的内网通信,你的几个服务器之间通信可能就会存在性能影响~  
因此,除非是跨地域部署,否则还是建议同机房~
使用道具 举报 回复 支持 1 反对 0
发表于 2020-11-4 02:12:09 | 显示全部楼层
wangzhj 发表于 2020-11-2 09:11
不用,节点只需要提供http服务即可

网站需要配置伪静态才能访问,请问在负载均衡状态下 如何实现伪静态?直接选择伪静态,保存不了,报错。
使用道具 举报 回复 支持 1 反对 0
发表于 2020-10-31 14:18:28 | 显示全部楼层
需要在所有机器上都安装负载均衡吗?
使用道具 举报 回复 支持 反对
发表于 2020-10-31 16:24:49 | 显示全部楼层
宝塔用户_zhvizp 发表于 2020-10-31 14:18
需要在所有机器上都安装负载均衡吗?

不用
使用道具 举报 回复 支持 反对
发表于 2020-10-31 17:57:33 | 显示全部楼层

好的。谢谢、其他机器是否也需要安装好宝塔,安装好和主控端一样的环境?
使用道具 举报 回复 支持 反对
发表于 2020-11-1 15:59:32 | 显示全部楼层
点购买加载不出来二维码
使用道具 举报 回复 支持 反对
发表于 2020-11-2 09:11:51 | 显示全部楼层
宝塔用户_zhvizp 发表于 2020-10-31 17:57
好的。谢谢、其他机器是否也需要安装好宝塔,安装好和主控端一样的环境? ...

不用,节点只需要提供http服务即可
使用道具 举报 回复 支持 反对
发表于 2020-11-2 09:12:08 | 显示全部楼层
陌沫 发表于 2020-11-1 15:59
点购买加载不出来二维码

修复一下面板试试
使用道具 举报 回复 支持 反对
发表于 2020-11-2 09:25:56 | 显示全部楼层
其他节点是不是apache也可以呢?还是也一样nginx呢?
使用道具 举报 回复 支持 反对
发表于 2020-11-2 11:55:24 | 显示全部楼层
書冩時光 发表于 2020-11-2 09:25
其他节点是不是apache也可以呢?还是也一样nginx呢?

apache也可以
使用道具 举报 回复 支持 反对
发表于 2020-11-8 13:26:37 | 显示全部楼层
几个服务器负载,不是同一个服务商,这几个可以不?
使用道具 举报 回复 支持 反对
发表于 2020-11-10 10:07:06 | 显示全部楼层
罗掌柜 发表于 2020-11-8 13:26
几个服务器负载,不是同一个服务商,这几个可以不?

只要网络是通的就可以
使用道具 举报 回复 支持 反对
发表于 2020-11-12 12:14:13 | 显示全部楼层
请问一台服务器搭建了几个网站(285的配置)作为主控端,另一台闲置了(245的配置)作为负载端,总共2台服务器,可以用负载均衡产生效果吗?如果可以,选择普通模式还是高级模式好些?
使用道具 举报 回复 支持 反对
发表于 2020-11-13 09:47:17 | 显示全部楼层
腾昌 发表于 2020-11-12 12:14
请问一台服务器搭建了几个网站(285的配置)作为主控端,另一台闲置了(245的配置)作为负载端,总共2台服 ...

最低三台服务器搭建负载均衡才有意义
使用道具 举报 回复 支持 反对
发表于 2020-11-14 20:46:47 | 显示全部楼层
请问已经存在的网站按照这个添加也可以对吧
使用道具 举报 回复 支持 反对
12345下一页
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

普通问题处理

论坛响应时间:72小时

问题处理方式:排队(仅解答)

工作时间:白班:9:00 - 18:00

紧急运维服务

响应时间:3分钟

问题处理方式:宝塔专家1对1服务

工作时间:工作日:9:00 - 18:30

宝塔专业团队为您解决服务器疑难问题

立即付费处理

工作时间:09:00至24:00

快速回复 返回顶部 返回列表