前言:当我们我网站应用,或者小程序,访问量,并发量到达一定程度的时候,对服务器压力自然就会增大。那么此时的解决方案首选就是负载均衡。而负载均衡的好处众所周知:1、能够解决高并发的问题;2、负载均衡对外只需提供一个域名/IP地址;3、使用负载均衡能够保证服务器不间断正常运行。等等
而对于经济且不丢失性能的云服务方案中,腾讯云的Lighthouse 轻量服务器,绝对是首当其冲的选择。
本文将使用轻量服务器,来搭载一个简单的Web/小程序后端负载均衡,仅为抛砖引玉...
不用K8S或者K3S部署,是因为学习成本低,且可以快速改造现有应用。
1、整体更优惠且不限制CPU。CPU可以100%使用。
2、操作相对CVM简单,预设应用模板,一键部署应用。
3、高带宽按流量包模式,超过流量包按流量付费。对中小应用流量完全足够
小贴士:购买时候注意,购买同一地区。这样才可以都在同一个内网。当然,通过内网互联也可以跟其他地区互联,不过这个是属于收费。跟同一地区的CVM是可以免费内网互联的。
鉴于轻量服务器优惠。我们本次使用:
共三台集群服务器作为例子。
由于我们的集群服务器,对于应用上,可能不单单是部署在Linux下的,也能是.net程序。所以部分集群服务器采用Windows Server服务器。仅作为例子演示集群服务器Linux或者Windows皆可。
下面,我们将手把手一步步来配置服务器。虽然简单,但我们还将稍微注重安全。
服务器我们将使用纯净Centos 7.6 和宝塔7.9来搭建。这里也可以直接使用轻量服务器内置宝塔特供版镜像。
勾选同意后,确定,等待两分钟....
sudo -i
并升级服务器:
yum update
等待升级完成即可。
3、安装宝塔
yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh ed8484bec
按y。等待两分钟后,将看到如下画面...
服务器防火墙添加规则:把8888开放,后面建议修改成其他端口,并关闭此端口
根据3点宝塔给出的地址,账号密码,登录后,绑定宝塔手机号码后配置服务器:
选择软件,主要是Nginx 1.21。当然版本都可以。本人建议使用比较新的稳定版。而其他,可以根据实际情况安装
等待安装完成,为了安全起见,建议安装免费的防火墙
可以过滤掉部分的攻击。
通过服务器管理器》添加角色和功能进行安装
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>首页</title>
</head>
<body>
<h1>Hello World!</h1>
<h2>对应内网IP</h2>
</body>
</html>
为了方便演示效果。我们将每一台服务器的内网IP填到对应部署网页中。
而针对IIS,可直接用80端口。对于Linux 宝塔的。建议采用其他端口
为了演示,我直接使用该服务器IP地址。先不绑定域名,采用纯静态即可:
修改站点配置。在最前面加上:
upstream myservers {
server 10.0.20.13:80;
server 10.0.8.7:80;
server 10.0.8.15:5005;
}
这里三个IP对应三台不同内网的集群服务器站点。
这里我们采用简单的轮询模式:
也可以根据实际情况,采用加权轮询负载均衡 模式,如:
upstream myservers {
server 10.0.20.13:80 weight=1 max_fails=1 fail_timeout=2;
server 10.0.8.7:80 weight=8 max_fails=2 fail_timeout=2;
server 10.0.8.15:5005 backup; #配置为备份服务器
}
weight:参数值越高则被分配到的概率越大。
如果需要更加复杂的均衡模式,可以自行搜索相关配置文档说明。
location / {
proxy_pass http://myservers;
}
至此,我们的简单负载均衡就配置就配置完毕了
在浏览器输入负载均衡服务器地址:http://1.12.244.106/ (演示,该地址可能随时失效)
并打开浏览器F12查看网络
这里可以看到请求后的是由windows 服务器进行处理。
通过以上,我们完成一个简单的Web负载均衡的搭建部署。在实际的使用,可以根据实际情况,使用独立数据库服务器;增加COS文件存储;以及CDN等。从而完善生产项目。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。