目录
前言
一、云服务器
1.什么是云服务器?
2.云服务器优点?
3.华为云云耀云服务器L实例
二、云耀云服务器L实例初体验
1.购买方式
2.重置密码
3.开放端口
三、宝塔面板安装Nginx
1.宝塔初始化
2.安装Nginx
3.Nginx目录结构
四、后端服务集群部署
1.配置JDK
2.新建Java项目
3.新增集群服务
4.集群接口测试
五、Nginx配置后端服务负载均衡
1.配置Nginx负载均衡
2.集群负载调用测试
总结
对于新人开发来说,可能不理解什么是云服务器?为什么要用云服务器?这些一开始确实有点疑惑。 想要理解这个问题,首先,可以从我们的项目入手,比如后端SpringBoot项目,我们必须一直启动着,才能一直可以被访问,但是对于普通电脑,如果要一直开着机,成本也是很高的吧!另一个问题,项目部署在我们自己的电脑,其他人怎么访问呢?所以从这两方面,我们就知道,必须要有一个电脑一直开着机,并且随时随地可以访问,那么就有云服务器(云电脑)。
云服务器是一种简单高效、安全可靠、处理能力可弹性伸缩的计算服务,用户无需提前购买硬件,即可通过云服务器平台快速创建或释放任意多台云服务器,而且其管理方式比物理服务器更简单高效。云服务器能够帮助用户快速构建更稳定、安全的应用,降低开发运维的难度和整体IT成本,使用户能够更专注于核心业务的创新。它是在云环境中实际创建的服务器,是一种比较简单和安全的计算机服务。
一个云服务器,必须拥有以下优点:
云服务器产商有很多,个人比较推荐华为云,华为云推出性能更好、价格更低、体验更优的云耀云服务器L实例,面向初创企业和开发者打造的全新轻量应用云服务器。提供丰富严选的应用镜像,实现应用一键部署,助力客户便捷高效的在云端构建电商网站、Web应用、小程序、学习环境、各类开发测试等。对于新手来说,从购买到使用,整个流程都是很便携的。
华为云云耀云服务器L具有如下优点:
接下来,我们就来开始云耀云服务器L来搭建nginx负载均衡,让后端服务轮询调用。
首先,我们需要购买一台云耀云服务器L,购买地址,https://console.huaweicloud.com/smb/?region=cn-north-4#/create/hecs-light?period=month_1&plan=basic_v1
新人的话,可以先领取优惠券在购买,比较优惠。
可以看到在购买页也是比较简单,选对应的镜像,和配置就行了,这里推荐的是选择宝塔可视化镜像,这个可以方便后面安装软件,而不用使用Linux服务器。
购买完成之后,就可以进入控制台,选择远程登录
进入终端之后在右边重置密码,如图所示:
设置好自己的新密码之后,就可以远程连接啦。
本次测评,我们需要提前开放几个端口:
回到云耀云服务器L控制台首页
https://console.huaweicloud.com/smb/?agencyId=20079e42a0e44e50a2fb0a841c1a95b0®ion=cn-south-1&locale=zh-cn#/resource/plan/65012196b5218b0f47c61f22/overview在第二步地方配置规则,就是开放端口
从上面看到,我们购买到设置端口,只要两步就行,十分方便,接下来我们就可以用云耀云服务器L实例的宝塔面板进行软件前置,环境配置,项目部署等工作了。
宝塔后台页面是需要登录的,所以需要初始密码,远程进入云耀云服务器L实例。执行以下命令:
sudo cat /credentials/password.txt
可以看到,宝塔的账号和密码:
接下来就可以登录宝塔进行操作了,可以使用 http://弹性公网IP:8888 地址进行访问,浏览器输入网址之后,可以看到首页:
在宝塔左边菜单,点击软件商店,在搜索框搜索nginx,并且在nginx右边点击安装,如图所示,表示,安装完成
安装完成之后,我们需要进入nginx文件目录下进行配置,点击右边栏位置可以进到nginx文件
点击之后会跳转到nginx目录结构下:/www/server/nginx
这里简单介绍一下nginx的目录结构:
在云耀云服务器L宝塔面板部署后端服务也是很简单的,我们只要把对应的项目jar包上传到云耀云服务器L实例中,自己利用宝塔面板新建Java项目启动即可。
所以根据路径选择到jdk下面的bin目录的java文件,选择这个其实说明了,
宝塔面板左边菜单点击网站,选择Java项目,第一次会提示我们要配置jdk管理,点击配置就行了。
点击添加JDK,选择已经上传的JDK目录,如下:
需要建springboot工程的jar包上传到云耀云服务器L中,在宝塔面板-网站-Java项目-添加java项目,只要选择我们刚刚上传springboot工程jar包,以及后端工程端口号就行。点击提交,就会完成了springboot工程部署了。
由于本次是基于集群进行测试nginx负载均衡,所以我们需要部署多个服务,上面已经成功部署一个了,我们只要添加一个新的Java项目就行,在新增一个端口号为9902的服务,模拟集群部署。
添加成功,就可以看到现在有个后端服务在运行了,指向的都是通过服务。
集群服务部署完成之后,需要测试服务是否部署正确,我们可以直接调用接口。
调用9901服务,可以正确返回数据:
调用9902服务,可以正确返回数据:
以上说明我们的后端集群部署完成了。
接下来我们将利用nginx配置负载均衡,轮询调用9901和9902两个服务
上面安装nginx的时候,已经知道nginx的配置文件在:/www/server/nginx,所以在宝塔面板的文件,进入该目录下,进入nginx配置文件,找到nginx的配置文件nginx.conf。
双击打开nginx.conf文件,可以看到在宝塔面板上就可以直接打开配置文件,并且也能进行修改和保存,都不用像传统Linux使用vi命令进行操作了。
添加nginx配置,配置两个上游服务器9902和9901,浏览器只要访问nginx的/api 接口,就会自动转发到对应的上游服务器。
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
# 配置上游服务器,负载均衡
upstream mynginx{
server 127.0.0.1:9901;
server 127.0.0.1:9902;
}
#gzip on;
server {
listen 80;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;}
location / {
root html;
index index.html index.htm;
}
location /api {
# proxy_pass mynginx;
proxy_pass http://mynginx/;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}
第一次调用服务接口,通过nginx转发,发现最终调用9902这个服务,只有9902的日志有输出。
再一次调用服务接口,这次只有9901的日志有输出,说明这个不在调用9902这个服务了。
至此,我们就利用云云耀云服务器L实例实现了集群nginx负载均衡调用,这样也能够减轻单体服务的压力,两个服务轮流休息,保证后端服务稳定运行。
本文主要是通过华为云云耀云服务器L实例,搭建Nginx实现后端集群负载均衡。在整个流程部署安装中,基于云耀云服务器L实例的宝塔可视化面板,基本没有用Linux相关命令,都是在页面上可视化操作,十分的方便和快捷。
除此之外,就我个人的观点而言,华为云云耀云服务器L实例是一款非常优秀的云服务器实例。它的高性能和高可靠性可以满足各种业务需求,同时其灵活性和安全性也让它成为构建企业级应用的理想选择。当然,如果您需要更高级别的安全防护或更复杂的网络配置,您可能需要考虑其他解决方案。但是就一般而言,华为云云耀云服务器L实例是一款非常值得推荐的云服务器实例。