一、前期准备

(一)实战要求

1、部署任务

使用阿里云组件完成若依项目部署:

1. ECS:部署 Nginx、Spring Boot。

2. RDS MySQL:存储业务数据。

3. Redis:缓存数据。

4. 实现若依项目正常访问。

2、日志采集

使用阿里云 SLS 完成日志采集:

- Nginx:access.log、error.log。

- Spring Boot:应用运行日志、异常日志。

要求:日志成功采集到 SLS,并能够查询。

3、扩展任务

RDS MySQL:慢查询日志、错误日志。

Redis:慢日志、运行日志(根据产品支持情况)。

4、提交要求

提交实施文档,包含:

1. 阿里云资源配置截图。

2. 若依项目访问成功截图。

3. Nginx、Spring Boot 日志采集成功截图。

4. 选做任务完成截图。

最终目标:若依项目正常运行,Nginx 和 Spring Boot 日志成功进入 SLS,实现集中查询。

补充任务验收标准明确大家提交格式增加部署实施步骤

(二)前置说明

环境:阿里云同地域(全部资源选同一个地域!内网互通,不耗公网流量) 若依版本:ruoyi-vue(前后端分离版) ECS 系统:CentOS7 / CentOS Stream(下面命令适配 CentOS7) 组件清单:ECS、RDS MySQL、Redis(云数据库 Tair 兼容 Redis)、SLS 日志服务 核心思路:

  1. ECS 装 JDK、Nginx,部署若依后端 jar 包、前端 dist 包
  2. RDS 存业务库,Redis 做缓存;配置白名单让 ECS 内网访问
  3. ECS 上安装 Logtail(SLS 采集 Agent)采集 Nginx、SpringBoot 日志
  4. RDS、Redis 使用 SLS 的 CloudLens 一键采集慢日志 / 错误日志(不用在 ECS 操作)阿里云帮助...

准备工作:提前买好 4 个资源,记下:

  • ECS 内网 IP、公网 IP
  • RDS 内网地址、账号、密码
  • Redis 内网地址、密码
  • 阿里云账号 ID、地域 ID(cn-beijing、cn-shanghai 等)

二、部署任务

使用阿里云组件完成若依项目部署:

1.1 创建试用ESC

(切记端口放行80、22等)

1.2 购买RDS

①在数据库找到云数据库RDS

②创建实例

③添加白名单

1.3 redis购买

①选择云数据库Tair

②创建实例

1、ECS:部署 Nginx、Spring Boot。

1.登录ECS

2.下载网络源和基础工具

yum install -y epel-release

yum install -y wegt vim net-tools unzip lrzsz gcc gcc-cc+ make

3.安装git工具、检验

yum install -y git

git --version

4.安装java1.8

yum install -y java-1.8.0-openjdk java-1.8.0-openjdk-devel

java -version

5.安装Maven3.6.3

①上传apache-maven-3.6.3.tar.gz

②解包、配置环境

cd /opt

tar -xvf apache-maven-3.6.3.tar.gz -C /usr/local/

vim /etc/profile

export MAVEN_HOME=/usr/local/apache-maven-3.6.3

export PATH=$MAVEN_HOME/bin:$PATH

③刷新并查询版本

source /etc/profile

mvn -version

6.安装nodejs

①添加node源

curl -fsSL https://rpm.nodesource.com/setup_12.x | bash -

②yum安装nodejs

yum install -y nodejs

③检查版本

node -v

npm -v

7.安装nginx

yum install -y nginx

查看版本、设置开机自启

nginx -v

systemctl enable nginx

2、RDS MySQL:存储业务数据。

1.进入实例账号管理创建账号

创建高权限账号root,密码为Root@123456

创建普通用户ruoyi,密码为Ruoyi@123456

2.创建数据库、授权

3.登录数据库

4.确定ry-vue库创建

5.数据库导入

数据变更、数据导入

输入相关数据,上传文件。提交申请

开源地址:https://gitee.com/y_project/RuoYi-Vue 把项目克隆 / 下载到本地,打开项目根目录,找到 sql 文件夹,里面直接有这两个文件,下载到本地电脑,就可以在阿里云 DMS 这个页面上传了

上传第二个文件

点击执行变更

确认执行

从数据库实例就可以看到ruiyi-redis

6.查看数据库ip

3、Redis:缓存数据

配置若依Tair,添加白名单

获取地址

4、配置若依源码

1.拉取若依源码

git clone https://gitee.com/y_project/RuoYi-Vue.git

git clone https://gitee.com/humajun/ruoyi.git

2.配置mysql

编辑配置

vim /opt/ruoyi/ruoyi-admin/src/main/resources/application-druid.yml

3.配置redis

vim /opt/ruoyi/ruoyi-admin/src/main/resources/application.yml

4.前端打包

cd /opt/ruoyi/ruoyi-ui

npm install

npm run build:prod

5.后端打包

cd /opt/ruoyi

mvn clean package -DskipTests

6.部署spring boot后端

cd /opt/ruoyi/ruoyi-admin/target

java -jar ruoyi-admin.jar

启动测试

netstat -ntlp | grep 8080

后台启动

nohup java -jar ruoyi-admin.jar > /opt/ruoyi/ruoyi.log 2>&1 &

5、nginx配置

1.部署前端到nginx

rm -rf /usr/share/nginx/html/*

cp -r /opt/ruoyi/ruoyi-ui/dist/* /usr/share/nginx/html/

2.配置nginx反向代理

server {

listen 80;

server_name localhost;

location / {

root /usr/share/nginx/html;

index index.html index.htm;

try_files $uri $uri/ /index.html;

}

location /prod-api/ {

proxy_pass http://172.19.36.137:8080/;

proxy_set_header Host $host;

proxy_set_header X-Real-IP $remote_addr;

proxy_set_header X-Forwarded-For

$proxy_add_x_forwarded_for;

proxy_set_header X-Forwarded-Proto $scheme;

}

}

检验、重启服务

nginx -t

systemctl restart nginx

6、实现若依项目正常访问

登录正常,能访问到数据库

三、日志采集

使用阿里云 SLS 完成日志采集:

- Nginx:access.log、error.log。

- Spring Boot:应用运行日志、异常日志。

要求:日志成功采集到 SLS,并能够查询。

1、开通日志模块

存储、日志服务SLS

点击开通日志服务

2、开通日志服务

2.1创建project

填写详细信息

2.2创建Logstore

点击名称

在日志存储,日志库中点击立即创建

填写lostore详细数据

2.3接入数据

接入单行文本日志

点击创建机器组

选中创建并安装为机器组

等待loongcollector安装成功

输入名称,ip自动读取内网ip

点击确定后,让机器组在应用机器组

填写信息

在日志库里,可以筛选查看

3、接入nginx日志

3.1接入access.log

左侧点击logtail配置,添加logtail配置

单行日志

接入nginx的access.log

3.2接入error.log

除了路径不一样,其他同上

预览数据刷新成功

4、接入spring boot日志

除了路径不一样,其他同上

四、扩展任务

RDS MySQL:慢查询日志、错误日志。

Redis:慢日志、运行日志(根据产品支持情况)。

1、mysql日志

1.慢查询

慢查询日志在左侧,日志管理、慢查询统计

2.错误日志

2、redis日志

1.慢日志

点击名称进入实例

左侧日志管理、慢日志

2.运行日志

五、自主学习

5.1 阿里云三种存储:OSS 对象存储、NAS 文件存储、云盘(EBS 块存储)

三种存储功能、区别、特点、应用场景

1)OSS 对象存储(Object Storage Service)

功能:以对象形式保存数据,由数据本体 + 元数据 + 唯一 Key 组成;Bucket(桶)作为顶层容器,提供 RESTful API/SDK 访问,提供多存储类型:标准、低频访问、归档、冷归档,支持权限、防盗链、生命周期管理。

特点

  1. 海量无限扩容,无需提前规划容量;
  2. 极高可靠性:12 个 9 数据持久性,99.995% 可用性;
  3. 不支持文件原地随机修改,只支持覆盖 / 删除重写;
  4. 多台 ECS、公网客户端可以并发访问;
  5. 成本低,冷数据存储价格极低。

访问方式:SDK、HTTP/HTTPS REST API,不可以直接 mount 挂载到操作系统,需要代码调用 API 访问。

应用场景

  • 图片、音视频、静态网站资源存储;
  • 日志、备份、归档、大数据数据湖;
  • 网盘、小程序、APP 附件资源;
  • 静态资源 CDN 源站。

不适合:数据库数据盘、需要频繁随机局部修改的文件业务。

2)NAS 文件存储(Network Attached Storage)

功能:标准 POSIX 文件系统,具备完整目录树,支持文件读写、修改、权限管理,支持 NFS/SMB 协议,可以直接挂载到多台 ECS / 容器,多实例共享访问同一个文件系统阿里云帮助...。

特点

  1. 多台 ECS 可以同时挂载读写,支持文件锁;
  2. 兼容传统本地文件程序,业务代码几乎不用修改;
  3. 容量弹性扩容,无需预先分配磁盘大小;
  4. 分通用型、极速型、CPFS 高性能规格,满足普通业务、AI 高性能计算。

访问方式:NFS(Linux)、SMB(Windows)挂载,像访问本地目录一样读写文件。

应用场景

  • 多台服务器共享文件:网站上传目录、集群日志共享;
  • AI 训练、基因计算、高性能计算;
  • 容器 K8s 的共享 PV 持久化存储;
  • 企业文件共享、云桌面。

不适合:单实例高 IO 数据库系统盘(延迟高于块存储)。

3)EBS 云盘(块存储,Elastic Block Storage)

功能:相当于云端的物理硬盘裸块设备;挂载到 ECS 实例后,必须做分区、格式化(ext4/xfs/NTFS)之后才能使用;分为 ESSD、高效云盘等类型,提供低延迟随机读写能力阿里云帮助...。

特点

  1. 极低延迟,高性能随机 IO,适合操作系统、数据库;
  2. 一块云盘同一时间只能挂载一台 ECS;
  3. 支持快照扩容;可以做系统盘、数据盘。

访问方式:挂载到 ECS,操作系统识别为磁盘设备,格式化后使用。

应用场景

  • ECS 操作系统系统盘;
  • MySQL、Redis 等数据库业务;
  • 需要低时延随机读写业务。

不适合:多机器同时共享读写同一块盘。

对比汇总表

对比项

OSS 对象存储

NAS 文件存储

EBS 块存储(云盘)

数据模型

对象(Key‑Value)

层级文件目录

磁盘裸块

多实例共享

支持,API 访问

支持,多台同时挂载读写

不支持,单台 ECS 独占

随机原地修改

❌不支持,只能覆盖重写

✅支持

✅支持

挂载方式

不能 mount,API/SDK 访问

NFS/SMB 挂载

挂载后格式化使用

延迟

较高

中等

极低

扩容

无限弹性

弹性扩容

手动调整磁盘大小

典型用途

图片视频、归档、静态资源

集群共享文件、HPC 计算

操作系统、数据库


5.2 SMC 服务器迁移中心

迁移原理

SMC(Server Migration Center)服务器迁移中心,实现 P2V 物理机、V2V 虚拟机(VMware)、其他云服务器迁移上阿里云 ECS阿里云帮助...。

  1. 在源服务器部署 SMC 客户端;收集源服务器磁盘、操作系统信息;
  2. 阿里云侧自动创建中转临时 ECS 实例;源端客户端把磁盘数据传输到中转实例云盘;
  3. 基于中转实例磁盘创建快照,生成阿里云自定义镜像;
  4. 用户可以基于镜像创建全新 ECS 实例;迁移完成自动释放中转实例。

迁移过程源服务器业务不停机,支持迁移演练做预校验。

应用场景

  1. VMware 虚拟机迁移上阿里云;
  2. 线下物理服务器迁阿里云;
  3. 其他云厂商服务器迁移阿里云;
  4. 跨账号 ECS 服务器迁移。

5.3 SMC 完整操作步骤

前置条件:

  1. 账号完成实名认证;
  2. RAM 授权 SMC 服务角色 AliyunServiceRoleForSMC;
  3. 开通快照服务;账户余额≥100 元;
  4. 源服务器具备公网访问能力。

步骤 1:进入 SMC 控制台,完成服务授权

  1. 阿里云控制台搜索「服务器迁移中心 SMC」进入控制台。

  1. 在欢迎页面点击前往授权,自动创建 SMC 服务关联角色AliyunServiceRoleForSMC,确认授权。

步骤 2:导入迁移源(添加待迁移服务器)

  1. 点击【服务器迁移】→【导入迁移源】

  1. 创建工作组(可选,批量迁移使用),填写工作组名称。
  2. 迁移源类型:物理机 / 虚拟机;导入方式选择命令行导入。
  3. 设置激活码额度、有效期,点击生成激活码,复制 Linux Shell 命令。

  1. 登录源服务器(VMware 虚拟机 / 物理机),root 管理员执行复制的 shell 脚本;脚本自动下载 SMC 客户端,向阿里云 SMC 注册,迁移源状态变为【迁移源在线】。

步骤 3:启动迁移任务

  1. SMC 控制台看到迁移源状态为迁移源在线,点击操作列【开始迁移】。

  1. 配置迁移任务参数:目标类型(生成 ECS 自定义镜像),目标地域,镜像名称前缀,磁盘迁移配置。
  2. 优先执行迁移演练:演练会校验源服务器、磁盘、驱动是否满足上云条件,演练不生成正式镜像,发现问题修复源服务器配置。

  1. 演练全部通过,点击【启动迁移】正式迁移。

⚠️注意:迁移期间不能关闭、停止中转实例,迁移完成中转实例会自动释放。

步骤 4:等待迁移完成

观察迁移状态,迁移完成后会生成自定义镜像。

步骤 5:验证迁移结果

  1. 打开 ECS 控制台→【实例与镜像】→【镜像】,可以看到 SMC 迁移生成的自定义镜像。

  1. 使用该镜像创建新 ECS 实例。
  2. 登录新建 ECS,核对系统版本、业务程序、数据,和源服务器对比确认业务完整可用。

5.4 关键注意事项

  1. 迁移演练建议必做,提前排查驱动、磁盘分区、内核兼容性问题;
  2. 迁移过程源服务器可以不停业务;
  3. 迁移产生中转实例、快照会产生少量按量计费;
  4. 迁移完成后,中转实例会自动释放,不要手动删除中转资源;
  5. 迁移交付产物是自定义镜像,镜像可以多次创建 ECS。
Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐