Web应用上云经典架构实战

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 本课程详细介绍了Web应用上云的经典架构实战,涵盖前期准备、配置ALB、创建服务器组和监听、验证ECS公网能力、环境配置(JDK、Maven、Node、Git)、下载并运行若依框架、操作第二台ECS以及验证高可用性。通过具体步骤和命令,帮助学员快速掌握云上部署的全流程。

内容介绍:

一、前期准备

二、配置ALB,创建服务器组和监听

三、验证第一台ECS是否有公网能力

四、为第一台云服务器ECS配置环境

五、在第一台ECS下载若依框架源码并修改配置,成功运行项目

六、操作第二台ECS

七、验证高可用

 

本次课程的主题是Web应用上云经典架构的实战篇。

 

一、前期准备

点击链接developer.aliyun.com/adc/scenario/311000340000入,勾选已同意点击开始实操

image.png

等待几分钟,系统会自动创建所需的资源。当资源创建成功之后可以通过左侧的云产品资源查看到系统创建的次实验所有需要用到的云产品资源。

image.png

回到操作手册点击下一页”,可以查看创建资源的介绍。

image.png

点击下一页”,开通数据传输CDT。进入云数据传输CDT的控制台,在第一次使用选择开通,状态由“未开通”变为“已开通”,“跨地域开通状态不影响本次实验,这里不做讲解。

image.png

点击下一页”进入整个实验的第一步

 

二、配置ALB,创建服务器组和监听

通过云产品资源列表找到“ALB负载均衡”,点击管理”,在右侧就会弹出负载均衡的控制界面。把控制界面拉宽。

image.png

回到操作手册根据操作手册创建监听

1、查看服务器组

在创建监听之前,先查看服务器组。可以看到,系统已经创建好了所需要的服务器组

image.png

点击“编辑后端服务器”,可以看到所需的两台后端服务器已添加完成。

image.png

2、创建监听

接下来,在服务器组中创建监听。点击实例”“创建监听进行监听的创建

image.png

也可以点击通过ALB的实例ID在监听页点击创建监听

image.png

选择监听协议为HTTP,监听端口为80端口。监听名称可以不写。高级配置保持默认

image.png

点击下一步”,在下拉框中选择系统创建好的服务器组,且在该界面可以查看到后端的服务器。

image.png

点击下一步”,对配置进行审核,审核无误后,点击提交”,再点击我知道了”,完成监听的创建。

image.png

点击下一页进行下一步的操作。

 

三、验证第一台ECS是否有公网能力

找到云产品资源”中的云服务器ECS-01点击管理

image.png

回到操作手册由于系统创建的云服务器,所以没有设置密码第一次使用需要点重置密码”“确认修改”,修改成功之后点击关闭

image.png

再点击“远程连接”“立即登录”。

image.png

在“密码”处输入设置好的密码ECS系统内部。

image.png

回到操作手册,复制第三点的命令,测试ECS是否有公网能力。可以发现其可以和域名aliyun.com可以互通说明ECS有公网能力按ctrl+ c结束。回到操作手册,点击下一页

image.png

 

四、为第一台云服务器ECS配置环境

1、安装JDK

复制1.1的命令为第一台ECS安装JDK

image.png

回到操作手册。复制1.2的命令,验证JDK默认安装目录下JDK软件是否下载完成。

image.png

可以看到,该目录下已经存在软件应用程序,说明已经下载成功。

回到操作手册复制1.3.1的命令,修改配置文件G来到最后一行,再按I进插入模式另起一行在操作手册中复制1.3.2的代码粘贴到ECS系统内部的配置文件粘贴成功之后按esc键退出插入模式再按冒号,输入wq保存并退出。

image.png

回到命令终端。复制1.4的命令刷新配置文件

image.png

没有报错说明配置成功。

复制1.5的命令检查JDK的版本验证是否安装成功。

image.png

可以看到JDK的版本,说明JDK配置成功。

2、安装Maven

复制2.1的命令下载Maven。回到操作手册复制2.2的命令解压Maven并且移动到指定的目录回车执行移动命令。在操作手册复制2.2下的第二个命令验证是否解压且移动成功。

image.png

可以看到目录下有相应的内容说明移动成功。


复制2.3的命令创建Maven仓库文件夹复制2.4的命令编辑settings配置文件。进入到配置文件之后。由于需要修改的标签在54行,因此键盘的54,再加G来到54行的位置。需要修改的是Local Repository标签,由于最开始它在注释中,所以不会被系统识别,我们需将移出注释。将光标定位到54行输入法调成英文状态连按两次“d”,然后将光标上移两行,在英文输入法状态下,按“p”,Local Repository这一行标签移出注释,使之生效。


然后将光标移动到Local Repository的标签删除原本的路径。在操作手册当中复制需要修改的Maven的仓库文件夹的路径粘贴修改本地仓库所在的位置。


image.png

接下来,指定Maven所下载镜像的镜像位置。首先复制2.6中mirror标签对的内容。回到配置文件中。将鼠标移动到159行,删除原本仓库下载的位置,可以一次性删除多行,按esc退出插入模式。此时要一次性删除七行,所以将光标定位在相应的位置之后“7”,再按两次d即可一次性删除七行


接下来将复制的代码粘贴进来,一定要注意粘贴到标签对,将光标上移一行按I进插入模式,另起一行,再粘贴,需要注意的是粘贴的是一个mirror标签,它一定在mirrors标签对。配置完成后,按esc退出插入模式冒号输入wq保存并退出。

image.png

回到操作手册。复制2.8.1的命令。按字母I进插入模式,另起一行。

复制2.8.2的命令,粘贴在配置文件的最底部。完成之后,按esc退出插入模式。按冒号输入wq保存并退出。

image.png

复制2.9的命令,刷新配置文件。复制2.10的命令验证Maven是否安装成功。

image.png

可以看到Maven的版本说明安装成功。

3、下载Node

复制3.1的命令,下载Node。下载完成之后回到操作手册复制3.2的命令,创建node的安装目录复制3.3的命令将node解压到创建的目录中。复制3.4的命令验证是否解压成功。

image.png

在对应目录下看到了Node,说明解压成功。

复制3.5的命令,创建软链接回车执行。复制3.6.1的命令,编辑配置文件。按I键到插入模式另起一行复制3.6.2的代码粘贴到尾部粘贴完成后,按esc退出插入模式,按冒号输入wq保存并退出。

image.png

复制3.7的命令刷新配置文件。复制3.8的命令检查Node版本。

image.png

可以看到Node版本14自带的npm命令也有对应的号,说明安装配置成功。

 

五、在第一台ECS下载若依框架源码并修改配置,成功运行项目

1、配置云数据库RDS

击“云资源产品”,找到云数据库RDS”,点击管理”。回到操作手册为数据库创建账号。在RDS的控制台找到账号管理,点击创建账号”,输入数据库账号账号类型为高权限账号,并为其设置一个密码。

image.png

输入完成之后,点击确定创建账号。

点击数据库管理”,再点击创建数据库”,数据库名称ry,支持字符集默认utf8点击创建

image.png

2、安装git

创建成功后,将ECS的内网IP加到数据库的白名单当中击“白名单与安全组”“添加白名单分组”“加载ECS内网IP”,并为该分组命名,将它添加到右边

image.png

点击确定”,收到的验证码输入之后点击确定

image.png

此时,在这白名单分组就可以看git。复制2.2的命令查看git的版本,验证是否安装成功

image.png

可以看到git的版本说明安装成功。

3、搭建若依项目

复制3.1的命令通过git下载若依的源码。回到操作手册,手册中内嵌了若依的官网地址,点击进入若依的官网点源码地址找到第一个若依源码下载。

image.png

观察若依的整体架构,进入其中的SQL文件夹,其中有两个SQL文件,即若依项目所有需要用到的数据库的数据。后续需要将数据导入云数据库RDS所以界面暂时保留。

image.png

回到操作手册。复制3.2的命令,验证系统中是否已下载了若依

image.png

可以看到,若依的文件及文件夹说明下载完成


4、数据连接池

接下来,复制4.2的命令找到数据库连接池文件。复制4.3的命令通过cat命令看数据库连接池文件内容。在主库数据源框选的区域即为待修改的部分。

image.png

首先,将localhost的地址修改为云数据库RDS的地址,端口号默认不变。由于创建的数据库的名称也叫ry,所以这里ry也不需要改动。如果创建的数据库名称不ry,需要修改为实际创建的数据库名称用户名和密码,前面创建的用户名就叫root所以这里无需修改,password需要修改为在云数据库RDS当中创建的高权限账号的密码。


回到操作手册进行修改复制5.1的命令到系统中,按ctrl+L清屏粘贴复制的命令进数据库连接池文件中修改localhost。保持光标回到操作手册找到数据库连接”,然后将RDS数据库的内网地址复制粘贴到原本localhost的地方


密码输入完成后,按esc退出插入模式,按冒号输入wq保存并退出。此时,若依的数据库连接池文件修改完成


回到操作手册。将若依的数据库的数据导入到RDS中。点击数据库管理”“数据库”,输入用户名和密码。登录成功后,在左侧点数据库实例找到创建的数据库ry双击若依数据库的SQL语法复制到其中执行,创建所需的数据库表到若依的官网,也就是复制前面提到的保留地址。找到第一个SQL文件一键复制,再回到数据库界面粘贴,并将最后一行的commit删除,点击“直接执行”,在“变更确认”页面点击“直接执行


image.png

执行完成之后,对第二个SQL文件的语法导入。回到若依的官网击SQL回到上一层找到最后一个SQL文件,点击进入该文件后一键复制,回到数据库在数据库的控制台点击+,粘贴新复制的SQL语法不需要做任何修改删除,直接点击“执行”,在“变更确认”页面点击“直接执行执行成功之后点击“刷新”。

image.png

可以看到有了许多的表,也就是通过SQL语法生成所需的所有数据表。

回到操作手册复制7.1的命令在系统内部粘贴进到若依的目录中复制7.2的命令,对若依项目进行编译,并且打成jar包,使其可以直接运行。

image.png

构建成功说明已经编译打包。

 

六、操作第二台ECS

整个流程与第一台几乎相同,包括JDK、Maven、node、git等,只是要注意关于云数据库RDS的操作需再重复操作验证打包的jar包存在的位置复制7.2下的第2个命令来到第一台ECS的控制台粘贴。

image.png

可以看到红色的这个jar包就是若依打包之后的jar包,可以直接运行。

复制7.3的命令启动程序。同时在第二台ECS也需要启动相同程序。

image.png

此时,出现了一个进程号表示有一个任务创建完成。

复制7.4的命令jobs,验证是否一个running的若依,回到第一台ECS,使用同样的方式进行验证。

image.png

发现两台ECS都同时运行了若依项目

 

七、验证高可用

在验证之前也可以查看若依的运行日志。复制7.5的命令在ECS粘贴。

image.png

可以发现两ECS的日志中也显示若依启动成功。

进行高可用的验证回到操作手册,找到ALB负载均衡。点击实例”。

在ALB负载均衡复制DNS名称到浏览器当中进行访问。

image.png

image.png

可以看到若依访问成功。还可以进行验证码的刷新,只要验证码可以刷新,就说明数据库的交互没有问题输入验证码后点击登录。系统提醒不是初始密码可以选请修改密码,课程演示中暂不修改。


此时,整体的项目搭建完成,使用两台ECS同时运行了若依项目,通过负载均衡作为统一的入口来进行访问

image.png

接下来模拟一台ECS服务器宕机状态,验证该程序是否还能正常运行

回到操作手册找到云服务器关掉远程连接的标签击“实例”,在控制台可以看到,现在两台ECS都处于运行中,随关掉一台,并把对应的标签也关掉。回到操作手册击“刷新

image.png

可以看到,第二台ECS已经被停止,目前只有一台服务器正在运行。再次尝试访问,验证若依是否还能成功回到ALB负载均衡控制台复制DNS名称,打开新的标签页,粘贴回车发现还可以正常的访问说明高可用的架构验证成功。

以上就是本节课的全部内容。

相关实践学习
2分钟自动化部署人生模拟器
本场景将带你借助云效流水线Flow实现人生模拟器小游戏的自动化部署
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
相关文章
|
7天前
|
弹性计算 负载均衡 Java
【上云基础系列 02-01】通过SLB+1台ECS+ESS弹性伸缩,搭建一个精简版的上云标准弹性架构(含方案及教程)
通常,构建一个弹性架构(即使是一个最基础的入门版),至少需要2台ECS。但是,很多小微企业刚开始上云的时候,为了节省成本不愿意购买更多的服务器。通过 “ALB+ESS弹性伸缩+1台ECS+RDS”方案,在保障低成本的同时,也不牺牲业务架构的弹性设计,更避免了很多人因为节省成本选择了单体架构后频繁改造架构的困局。 方案中的几个设计非常值得小微企业借鉴:(1)通过ALB/RDS的按量付费,节省了初期流量不大时的费用;(2)通过ESS弹性伸缩,不需要提前购买服务器资源,但是当业务增长或减少时却保持了资源弹性自动扩缩容。
|
7天前
|
SQL 弹性计算 安全
【上云基础系列04】基于标准架构的数据库升级
本文回顾了业务上云从基础到进阶的理念,涵盖基础版和全栈版架构。在“入门级:上云标准弹性架构基础版”的基础上,本文针对数据库升级,重点介绍了高可用数据库架构的升级方案,确保数据安全和业务连续性。最后,附有详细的“上云标准弹性架构”演进说明,帮助用户选择合适的架构方案。
|
7天前
|
弹性计算 负载均衡 安全
【上云基础系列03】基于标准架构的安全升级
本文回顾了业务上云从基础到进阶的理念,介绍了企业在不同发展阶段所需的架构选择。在“入门级:上云标准弹性架构基础版”的基础上,本文针对安全升级,重点介绍了:(1)公网入口基于应用型负载均衡ALB集成WAF防护,提升Web应用的安全性;(2)公网出口则通过NAT网关升级为CFW防火墙,保障出站流量的安全。 此外,还提供了详细的架构演进说明,涵盖从入门级标准弹性架构到高级安全能力和数据库升级的全过程。
|
7天前
|
弹性计算 负载均衡 安全
【上云基础系列-02】企业推荐!必学必会的上云标准架构(弹性架构)
本文介绍上云标准弹性架构,针对企业业务发展需求,推荐使用多服务器的弹性架构而非单体架构。方案包含负载均衡、NAT网关、云服务器ECS、云数据库RDS等组件,确保业务的负载分担、冗余备份及平滑扩展。通过统一公网暴露面管理和VPC网络设计,保障架构的稳定性、安全性和可扩展性。该架构适用于中小企业上云,避免性能瓶颈和迭代升级困难,支持业务持续发展。更多内容可参考下方演进说明总览。
|
8天前
|
弹性计算 开发者
【上云基础系列-01】如何把控公网带宽费,实现低成本用云(基于单体架构)
本文主要面向开发者,介绍在单体架构下如何巧妙选择服务器和公网产品方案,实现低门槛用云。针对个人开发者和企业不同需求,推荐使用阿里云的ECS、EIP和CDT组合方案,特别是CDT提供的200GB/月免费公网流量,帮助用户显著降低网络成本。该方案不仅适合个人开发者的低成本需求,也满足初创企业和大型电商平台的扩展要求。通过灵活配置服务,用户可以在保障性能的同时实现成本节约。
|
27天前
|
Java 网络安全 开发工具
Git进阶笔记系列(01)Git核心架构原理 | 常用命令实战集合
通过本文,读者可以深入了解Git的核心概念和实际操作技巧,提升版本管理能力。
|
1月前
|
Web App开发 编解码 vr&ar
使用Web浏览器访问UE应用的最佳实践
在3D/XR应用开发中,尤其是基于UE(虚幻引擎)开发的高精度场景,传统终端因硬件局限难以流畅运行高帧率、复杂效果的三维应用。实时云渲染技术,将渲染任务转移至云端服务器,降低终端硬件要求,确保用户获得流畅体验。具备弹性扩展、优化传输协议、跨平台支持和安全性等优势,适用于多种终端和场景,特别集成像素流送技术,帮助UE开发者实现低代码上云操作,简化部署流程,保留UE引擎的强大开发能力,确保画面精美且终端轻量化。
使用Web浏览器访问UE应用的最佳实践
|
2月前
|
存储 JavaScript 开发工具
基于HarmonyOS 5.0(NEXT)与SpringCloud架构的跨平台应用开发与服务集成研究【实战】
本次的.HarmonyOS Next ,ArkTS语言,HarmonyOS的元服务和DevEco Studio 开发工具,为开发者提供了构建现代化、轻量化、高性能应用的便捷方式。这些技术和工具将帮助开发者更好地适应未来的智能设备和服务提供方式。
75 8
基于HarmonyOS 5.0(NEXT)与SpringCloud架构的跨平台应用开发与服务集成研究【实战】
|
2月前
|
弹性计算 Java 关系型数据库
Web应用上云经典架构实践教学
Web应用上云经典架构实践教学
Web应用上云经典架构实践教学
|
2月前
|
弹性计算 负载均衡 安全
云端问道-Web应用上云经典架构方案教学
本文介绍了企业业务上云的经典架构设计,涵盖用户业务现状及挑战、阿里云业务托管架构设计、方案选型配置及业务初期低门槛使用等内容。通过详细分析现有架构的问题,提出了高可用、安全、可扩展的解决方案,并提供了按量付费的低成本选项,帮助企业在业务初期顺利上云。

热门文章

最新文章

  • 1
    Burp Suite Professional 2025.2 (macOS, Linux, Windows) - Web 应用安全、测试和扫描
    24
  • 2
    AppSpider Pro 7.5.015 for Windows - Web 应用程序安全测试
    19
  • 3
    【02】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-2月12日优雅草简化Centos stream8安装zabbix7教程-本搭建教程非docker搭建教程-优雅草solution
    54
  • 4
    部署使用 CHAT-NEXT-WEB 基于 Deepseek
    327
  • 5
    【2025优雅草开源计划进行中01】-针对web前端开发初学者使用-优雅草科技官网-纯静态页面html+css+JavaScript可直接下载使用-开源-首页为优雅草吴银满工程师原创-优雅草卓伊凡发布
    26
  • 6
    java spring 项目若依框架启动失败,启动不了服务提示端口8080占用escription: Web server failed to start. Port 8080 was already in use. Action: Identify and stop the process that’s listening on port 8080 or configure this application to listen on another port-优雅草卓伊凡解决方案
    39
  • 7
    零基础构建开源项目OpenIM桌面应用和pc web- Electron篇
    28
  • 8
    【01】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-硬件设备实时监控系统运营版发布-本产品基于企业级开源项目Zabbix深度二开-分步骤实现预计10篇合集-自营版
    20
  • 9
    FastAPI与Selenium:打造高效的Web数据抓取服务 —— 采集Pixabay中的图片及相关信息
    53
  • 10
    springSecurity学习之springSecurity过滤web请求
    60