【玩转Lighthouse】搭建简单实用的Web负载均衡

2022-04-19 08:40:52 浏览数 (1)

前言:当我们我网站应用,或者小程序,访问量,并发量到达一定程度的时候,对服务器压力自然就会增大。那么此时的解决方案首选就是负载均衡。而负载均衡的好处众所周知:1、能够解决高并发的问题;2、负载均衡对外只需提供一个域名/IP地址;3、使用负载均衡能够保证服务器不间断正常运行。等等

而对于经济且不丢失性能的云服务方案中,腾讯云的Lighthouse 轻量服务器,绝对是首当其冲的选择。

本文将使用轻量服务器,来搭载一个简单的Web/小程序后端负载均衡,仅为抛砖引玉...

不用K8S或者K3S部署,是因为学习成本低,且可以快速改造现有应用。

一、Lighthouse轻量服务器的几个优点

1、整体更优惠且不限制CPU。CPU可以100%使用。

2、操作相对CVM简单,预设应用模板,一键部署应用。

3、高带宽按流量包模式,超过流量包按流量付费。对中小应用流量完全足够

小贴士:购买时候注意,购买同一地区。这样才可以都在同一个内网。当然,通过内网互联也可以跟其他地区互联,不过这个是属于收费。跟同一地区的CVM是可以免费内网互联的。

二、负载均衡使用到的轻量服务器

鉴于轻量服务器优惠。我们本次使用:

  • 一台无忧 2核4G8M的服务器作为负载均衡服务器 Centos 7.9 Nginx;
  • 两台无忧1核2G 5M的服务器 Centos 7.9 Nginx ,
  • 一台双十一特惠 11.11三年的1核2G 5M的服务器后面还升级到2核2G Windows Server 2019 IIS。

共三台集群服务器作为例子。

由于我们的集群服务器,对于应用上,可能不单单是部署在Linux下的,也能是.net程序。所以部分集群服务器采用Windows Server服务器。仅作为例子演示集群服务器Linux或者Windows皆可。

下面,我们将手把手一步步来配置服务器。虽然简单,但我们还将稍微注重安全。

三、负载均衡服务器配置

服务器我们将使用纯净Centos 7.6 和宝塔7.9来搭建。这里也可以直接使用轻量服务器内置宝塔特供版镜像。

1、重装系统,或者购买的时候选择Centos 7.6镜像

勾选同意后,确定,等待两分钟....

2、使用管理面板登录服务器,切换到root

代码语言:javascript复制
sudo -i

并升级服务器:

代码语言:javascript复制
yum update

等待升级完成即可。

3、安装宝塔

代码语言:javascript复制
yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh ed8484bec

按y。等待两分钟后,将看到如下画面...

4、开放宝塔使用需要端口

服务器防火墙添加规则:把8888开放,后面建议修改成其他端口,并关闭此端口

5、登录宝塔后台并配置服务器

根据3点宝塔给出的地址,账号密码,登录后,绑定宝塔手机号码后配置服务器:

选择软件,主要是Nginx 1.21。当然版本都可以。本人建议使用比较新的稳定版。而其他,可以根据实际情况安装

等待安装完成,为了安全起见,建议安装免费的防火墙

可以过滤掉部分的攻击。

四、集群业务服务器简单配置

1、windows服务器:选择好Windows 2019 镜像,重装后通过远程登录进去。并安装IIS

通过服务器管理器》添加角色和功能进行安装

2、Linux服务器:同样按负载均衡服务器,安装好Nginx和其他应用等

3、我们将简单一个网页部署到三台集群服务器:

代码语言:javascript复制

<!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 宝塔的。建议采用其他端口

五、配置负载均衡

1、负载均衡服务器我们新建一个站点。

为了演示,我直接使用该服务器IP地址。先不绑定域名,采用纯静态即可:

2、配置负载均衡

修改站点配置。在最前面加上:

代码语言:javascript复制
upstream myservers {
        server 10.0.20.13:80;
        server 10.0.8.7:80;
        server 10.0.8.15:5005;
}

这里三个IP对应三台不同内网的集群服务器站点。

这里我们采用简单的轮询模式:

也可以根据实际情况,采用加权轮询负载均衡 模式,如:

代码语言:javascript复制
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:参数值越高则被分配到的概率越大。

如果需要更加复杂的均衡模式,可以自行搜索相关配置文档说明。

3、最后,增加Nginx 服务器反向代理配置:

代码语言:javascript复制
    location / {
            proxy_pass http://myservers;
        }

至此,我们的简单负载均衡就配置就配置完毕了

六、预览效果

在浏览器输入负载均衡服务器地址:http://1.12.244.106/ (演示,该地址可能随时失效)

并打开浏览器F12查看网络

这里可以看到请求后的是由windows 服务器进行处理。

后记:

通过以上,我们完成一个简单的Web负载均衡的搭建部署。在实际的使用,可以根据实际情况,使用独立数据库服务器;增加COS文件存储;以及CDN等。从而完善生产项目。

0 人点赞