Web应用上云经典架构实践教学

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS PostgreSQL,集群系列 2核4GB
简介: Web应用上云经典架构实践教学

内容介绍:

一、配置ALB的服务器组和监听

二、验证第一台ets是否有公网能力

三、云数据库rds配置

 

本次进行web应用上云经典架构的实战篇。

image.png


通过链接点进来,勾选已同意,点击开始实操。这时等待几分钟,系统会帮自动创建所需要的资源。当资源创建成功之后,可以通过左侧的云产品资源在可以查看到系统帮创建的这次实验所有需要用到的云产品资源。

image.png

回到操作手册,点击下一页。这是创建资源的介绍,点击下一页,

image.png

先开通云数据传输ctd,找到云数据传输CTD的控制台。

image.png

我的账号显示已开通,如果是第一次使用,是未开通的状态。选择开通可以。跨地域开通状态不影响本次实验,不做讲解。

 

一、配置ALB的服务器组和监听

点击下一页,整个实验的第一步,先配置ALB的服务器组和监听,通过云产品资源列表找到ALB负载均衡,点击管理。

image.png

在右侧会弹到负载均衡的控制界面。

image.png

可以通过此将控制台的界面拉取的宽一点,同时回到操作手册,根据操作手册,需要创建监听,在创建监听之前,看服务器组。

image.png

可以看到系统已经创建完毕所需要的服务器组。编辑后端服务器点进来,可以看到所需要的两台后端服务器已经添加。

image.png

在服务器组中,进行监听的创建。点击实例可以通过创建监听。

image.png 也可以通过ALB的实例进入,在监听页点击创建监听。

image.png

image.png

选择监听协议为HTTP,监听端口为80端口,监听名称可以不写,高级配置,保持默认。点击下一步,在选择服务器,选择刚刚系统创建的服务器组,可以看到后端的服务器在是能够查看到。

image.png

image.png

点击下一步,对配置审核,没有问题之后点击提交,点击“我知道了”,监听创建成功。

 

二、验证第一台ets是否有公网能力

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

image.png

找到云产品资源滚动条向上,找到云服务器ECS 01。点击管理,同时回到操作手册。由于是系统创建的云服务器,所以没有设置密码,第一次使用需要点重置密码。设置密码之后,点击确认修改。

image.png

修改成功后,点击关闭,远程连接,点击立即登录。

image.png

image.png

image.png

输入刚刚设置的密码,登录ecs系统内部。

回到操作手册,复制命令,复制第三点的命令来测试ecs是否有公网能力

image.png

image.png

发现适合阿里云 .com域名能够互通,说明ecs有公网能力,按CTRL c结束。

回到操作手册,点击下一页。这时,需要为第一排云服务器ecs配置环境,复制1.1的命令为第一排ecs安装jdk。

image.png

回到操作手册,复制1.2的命令,验证在GDP的默认安装目录是否已经下载需要用到的JDK软件,可以看到已经有了,说明已经下载成功。

image.png

image.png

回到操作手册,复制1.3.1的命令,修改配置文件。

image.png

按键盘上的大写的字母G来到最后一行,按I进入插入模式之后,另起一行。

image.png

在操作手册当中复制1.3.2的代码粘贴到ecs系统内部的配置文件,

image.png

image.png

粘贴成功之后,按ESC键退出插入模式,再按“:”输入Wq保存并退出。回到命令终端。

image.png

复制1.4的命令,刷新配置文件,没有报错,说明配置成功。

image.png

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

image.png

可以看到JDK的版本,说明JDK是配置成功。下载maven,复制2.1的命令。

image.png

回到操作手册,复制2.2的命令。

image.png

解压maven并且移动到指定的目录,回车,执行移动命令,

image.png

在操作手册复制2.2下面的第二个命令来验证是否解压并且移动成功,可以看到目录下面有内容说明移动成功。

image.png

复制2.3的命令创建maven仓库文件夹。

image.png

复制2.4的命令。

image.png

编辑settings配置文件。经过配置文件后,由于需要修改的标签对在54行,可以按54和大写的字母G来到54行的位置。

image.png

可以在右边看到是54行,需要修改的是localrepository标签对,此时他在注释当中,所以不会被系统识别,需要将它移出注释,将光标定位到54行。输入法调成英文状态,连按两次小写的字母d,

image.png

将光标上移两行,还英文输入法状态下,按小写的字母p,这样将localrepository这一行标签队移出注释,它会生效。现在将光标移动到localrepository标签对中,删除原本的路径。在操作手册当中复制需要修改的maven的仓库文件夹的路径。

image.png

选择粘贴,修改本地仓库所在的位置。

image.png

需要去指定maven所下载镜像的镜像位置,先来到2.6,首先要先复制mirrorS标签对的内容。

image.png

回到配置文件中将鼠标下滚,大概到159行,原本的仓库位置,现将它删掉,删除的方法可以一起删多行,方法是在插入模式按ESC,没有插入“insert”单词,说明已经退出插入模式。

image.png

此时要一次性删除7行,将光标定位在之后按键盘上的7,按两次小写的字母dd,这时将这7行一起删除。

要做的将刚刚复制的粘贴进来,注意粘贴到“mirrorS”标签对里面,

image.png

现在需要将光标上移一行,按字母I进到插入模式之后,另起一行在粘贴。

image.png

注意粘贴的是“mirrorS”标签对里面。

image.png

配置完成按ESC退出插入模式,按冒号输入wq保存并退出,回到操作手册。

复制2.8.1的命令。

image.png

按字母I进到插入模式,另起一行。

image.png

image.png

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

image.png

复制2.9的命令,刷新配置文件。

image.png

复制2.10的命令验证,检验maven是否安装成功,看到maven版本说明安装成功。

image.png image.png

复制3.1的命令。下载node,下载完成之后回到操作手册。

image.png

 

复制3.2的命令,创建node的安装目录。

image.png

复制3.3的命令,将node解压到创建的目录当中。

image.png

image.png

复制3.4的命令验证是否解压过去。看到有node说明解压成功。

image.png

复制3.5的命令,创建链接。回车,执行。

image.png

image.png

复制3.6.1的命令,编辑配置文件。点击“I”进到插入模式,另起一行。

image.png image.png

复制3.6.2的代码粘贴到尾部,完成之后按ESC退出插入模式,按冒号输入wq保存并退出。

image.png

复制3.7的命令,刷新配置文件。

image.png

image.png

复制3.8的命令,检查node版本。可以看到node版本自带的npm命令说明安装配置成功,在操作手册点击下一页进行到下一步。

 

三、云数据库rds配置

首先点到云资源产品,找到云数据库rds点击管理,同时回到操作手册。

image.png

第一步需要为数据库创建一个账号,在rds的控制台,找到账号管理,点击创建账号,输入数据库账号,账号类型为高权限账号,为账号设置密码。输入完成后点击确定来创建账号。

image.png

根据手册,进行数据库的创建,点击数据库创建在再点击创建数据库。数据库的名称,统一的输入 ry字符,默认的utf8点击创建。创建成功之后,需要将ecs内容IP加到数据库的白名单当中。

image.png

image.png

image.png

点白名单与安全组。点击添加白名单分组。点击加入ecs内网ip,为分组取一个名称,选中ecs,将它添加到右边,点击确定,此时需要收一个验证码,将验证码输入之后点击确定收取验证码之后,在白名单分组,可看到已经将两台ecs的IP地址加到分组里面。

image.png

复制2.1的命令。为ecs安装git。

image.png

image.png

复制2.2的命令,查看git版本,说明成功。

image.png

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

image.png

image.png

可以看到sql文件夹,点进去,里面有两个sql的文件,若依项目所有需要用到的数据库的数据,需要将数据导入到云数据库rds当中,所以界面先保留,回到操作手册。

image.png

复制3.2的命令,验证若依是否在系统下载成功。可以看到若依的文件以及文件夹,说明已经下载。

找到数据库连接池文件。

image.png

image.png

复制4.2的命令,可以看到数据库连接池文件,可以通过cat命令来看数据库连接时文件内容。

image.png

image.png

复制4.3的命令,鼠标往上滚动,在主库数据源框选起来的地方待会需要修改。首先需要修改的第一点是localhost,将此地址修改为云数据库rds的地址,端口号默认不变,ry由于刚刚创建的数据库的名称也叫ry,所以不需要改动,如果刚刚创建的数据库名称不叫ry,需要跟刚刚创建的数据库名称一致。用户名和密码,刚刚创建的用户名叫rut,所以不用修改。Password是密码,需要修改成在云数据库rds当中创建的高权限账号的密码,查看完成之后,回到操作手册进行修改。

image.png

image.png

image.png

image.png

 

复制5.1的命令来到系统里面,按control  l清屏,粘贴复制的命令,进到数据库连接池文件,对localhost修改,光标保留。

image.png

回到操作手册,找到数据库连接,找到rds数据库的内网地址,复制粘贴到原本localhost所在位置。输入完成之后按ESC退出插入模式,输入冒号,输入wq保存并退出。若依的数据库连接池修改完毕,回到操作手册。

image.png

根据操作手册,需要将若依的数据库的数据导入到rds,点击数据库管理,点击登录数据库。输入用户名和密码。

image.png

登录成功后,左侧点数据库实例找到创建的数据库Ry,双击,需要将若依等数据库的SQL语法复制到白框执行,让它创建所需要的数据库以及表。

image.png

来到若依的官网,找到第一个SQL文件,点一键复制,复制成功后回到数据库界面,粘贴,把最后一行的commit删掉,点击执行。

image.png

image.png

出现变更确认,点击直接执行。执行完成之后,进行对第二个SQL文件的语法导入,回到若依的官网,点SQL回到上一层,找到最后一个SQL文件,点一键复制,复制成功后回到数据库。

image.png

在数据库的控制台点击+,将新复制的SQL语法粘贴到此,不需要做任何的修改删除,直接点执行。在变更确认,点直接执行。成功后点刷新,可以看到许多通过语法生成所需要的所有的数据表。返回操作手册进行下一个操作。

image.png

复制7.1的命令,在系统内部粘贴进到若依的目录当中。

image.png

image.png

复制7.2的命令。对若依项目进行编译,并且打成jar包,让它直接运行,等待四五分钟以后看到构建成功,说明已经编译打包成功。对第二台ecs进行操作,第二台ecs操作跟第一台步骤相同,要注意关于比如数据库rds的操作不需要再重复操作,

验证打包好的jar包存在的位置。

image.png

image.png

复制7.2下面的第二个命令来到第一台ets的控台粘贴,可以看到红色若依打包之后的一个jar包,可以直接来运行它。

image.png

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

image.png

第二台ECS已经是构建成功的状态运行,可以看到出现的[]表示有任务已经创建。

image.png

可通过7.4的命令jobs复制之后来验证是否有一个正在running若依程序,经验证发现存在,第一台ecs也一样的通过命令来验证。两台ecs都同时运行若依这一个项目,可以来验证高可用。

在验证之前,也可看若依的运行日志。

image.png

image.png

复制7.5的命令。先在第一台ecs粘贴,可以看到第一台ecs当中显示,若依启动成功,再来到第二台ecs粘贴,可以看到第二台ecs的日志当中也显示,若依启动成功,来进行高可用的验证。

回到操作手册,找到ALB负载均衡,点击实例,在实例可看到ALB负载均衡有一个DNS名称,复制DNS名称到浏览器当中进行访问。

image.png

可观察现在已经成功访问到若依网站,并且可以进行一个验证码的刷新。验证码只要可以刷新,说明跟数据库的交互是没有问题的。输入验证码之后,点击登录,登录进来。他提醒你不是初始密码,请你选请修改密码,暂时不修改,整体的项目已经搭建完毕。此时是通过两台ecs同时运行,若依项目通过负载均衡作为统一的入口来进行访问的,接下来模拟其中一台ets服务器如果宕机,程序是否还能正常运行。

回到操作手册,找到语音服务器,将关掉远程连接的标签,点实例,可以在控制台看到现在两台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天前
|
负载均衡 Serverless 持续交付
云端问道9期实践教学-省心省钱的云上Serverless高可用架构
详细介绍了云上Serverless高可用架构的一键部署流程
32 10
|
7天前
|
存储 人工智能 运维
面向AI的服务器计算软硬件架构实践和创新
阿里云在新一代通用计算服务器设计中,针对处理器核心数迅速增长(2024年超100核)、超多核心带来的业务和硬件挑战、网络IO与CPU性能增速不匹配、服务器物理机型复杂等问题,推出了磐久F系列通用计算服务器。该系列服务器采用单路设计减少爆炸半径,优化散热支持600瓦TDP,并实现CIPU节点比例灵活配比及部件模块化可插拔设计,提升运维效率和客户响应速度。此外,还介绍了面向AI的服务器架构挑战与软硬件结合创新,包括内存墙问题、板级工程能力挑战以及AI Infra 2.0服务器的开放架构特点。最后,探讨了大模型高效推理中的显存优化和量化压缩技术,旨在降低部署成本并提高系统效率。
|
9天前
|
运维 监控 安全
天财商龙:云上卓越架构治理实践
天财商龙成立于1998年,专注于为餐饮企业提供信息化解决方案,涵盖点餐、收银、供应链和会员系统等。自2013年起逐步实现业务上云,与阿里云合作至今已十年。通过采用阿里云的WA体系,公司在账号管理、安全保障、监控体系和成本管控等方面进行了全面优化,提升了业务稳定性与安全性,并实现了显著的成本节约。未来,公司将持续探索智能化和全球化发展,进一步提升餐饮行业的数字化水平。
|
9天前
|
运维 安全 架构师
架构师工具箱:Well-Architected云治理提效实践
本次分享基于阿里云Well-Architected Framework的最佳实践案例,涵盖企业从上云到优化的全过程。安畅作为国内领先的云管理服务提供商(Cloud MSP),拥有800多名员工,其中70%为技术工程师,为企业提供架构安全、数据智能等技术服务。内容包括Landing Zone与Well-Architected的关系、企业云治理现状及需求分析,重点探讨了安全合规、成本优化、资源稳定性和效率提升等方面的最佳实践,并通过具体客户案例展示了如何通过自动化工具和定制化解决方案帮助企业提升云上业务价值。
|
21天前
|
弹性计算 负载均衡 安全
云端问道-Web应用上云经典架构方案教学
本文介绍了企业业务上云的经典架构设计,涵盖用户业务现状及挑战、阿里云业务托管架构设计、方案选型配置及业务初期低门槛使用等内容。通过详细分析现有架构的问题,提出了高可用、安全、可扩展的解决方案,并提供了按量付费的低成本选项,帮助企业在业务初期顺利上云。
|
3月前
|
XML JSON API
ServiceStack:不仅仅是一个高性能Web API和微服务框架,更是一站式解决方案——深入解析其多协议支持及简便开发流程,带您体验前所未有的.NET开发效率革命
【10月更文挑战第9天】ServiceStack 是一个高性能的 Web API 和微服务框架,支持 JSON、XML、CSV 等多种数据格式。它简化了 .NET 应用的开发流程,提供了直观的 RESTful 服务构建方式。ServiceStack 支持高并发请求和复杂业务逻辑,安装简单,通过 NuGet 包管理器即可快速集成。示例代码展示了如何创建一个返回当前日期的简单服务,包括定义请求和响应 DTO、实现服务逻辑、配置路由和宿主。ServiceStack 还支持 WebSocket、SignalR 等实时通信协议,具备自动验证、自动过滤器等丰富功能,适合快速搭建高性能、可扩展的服务端应用。
191 3
|
1月前
|
前端开发 安全 JavaScript
2025年,Web3开发学习路线全指南
本文提供了一条针对Dapp应用开发的学习路线,涵盖了Web3领域的重要技术栈,如区块链基础、以太坊技术、Solidity编程、智能合约开发及安全、web3.js和ethers.js库的使用、Truffle框架等。文章首先分析了国内区块链企业的技术需求,随后详细介绍了每个技术点的学习资源和方法,旨在帮助初学者系统地掌握Dapp开发所需的知识和技能。
2025年,Web3开发学习路线全指南
|
2月前
|
设计模式 前端开发 数据库
Python Web开发:Django框架下的全栈开发实战
【10月更文挑战第27天】本文介绍了Django框架在Python Web开发中的应用,涵盖了Django与Flask等框架的比较、项目结构、模型、视图、模板和URL配置等内容,并展示了实际代码示例,帮助读者快速掌握Django全栈开发的核心技术。
214 45
|
2月前
|
存储 前端开发 JavaScript
如何在项目中高效地进行 Web 组件化开发
高效地进行 Web 组件化开发需要从多个方面入手,通过明确目标、合理规划、规范开发、加强测试等一系列措施,实现组件的高效管理和利用,从而提高项目的整体开发效率和质量,为用户提供更好的体验。
38 7
|
2月前
|
开发框架 搜索推荐 数据可视化
Django框架适合开发哪种类型的Web应用程序?
Django 框架凭借其强大的功能、稳定性和可扩展性,几乎可以适应各种类型的 Web 应用程序开发需求。无论是简单的网站还是复杂的企业级系统,Django 都能提供可靠的支持,帮助开发者快速构建高质量的应用。同时,其活跃的社区和丰富的资源也为开发者在项目实施过程中提供了有力的保障。
下一篇
开通oss服务