发布时间:2026/8/31 15:53:59
阿里云项目迁移:若依项目从本地迁到阿里云上 文章目录一、阿里云的概念1.1 什么是阿里云1.2 为什么要进行数据迁移1.2.1 本地部署的痛点1.2.2 上云迁移的优势二、云上架构图三、迁移步骤3.1 资源清单3.2 创建 VPC 和交换机3.3 购买 ECS2台3.4 安全组配置3.5 购买 RDS MySQL3.6 购买云 RedisTair3.7 购买 SLB3.8 购买SLS3.9 获取RDS mysql 的内网地址和Redis 的内网地址3.9.1 获取RDS mysql 的内网地址3.9.2 获取Redis 的内网地址3.10 数据迁移SQL 导入3.10.1 在RDS MySQL中先创建库和账号3.10.2 创建了数据库然后在本地终端上进行数据导出3.10.3 上传到 ECS-13.11 后端 jar 包配置与运行3.11.1 在本地虚拟机从镜像中提取 jar 包3.11.2 安装JDK 1.83.11.3 application-druid.yml文件3.11.4 application.yml 文件3.11.5 运行 jar 包3.12 前端迁移3.12.1 在本地虚拟机上找到dist文件3.12.2 上传到 ECS-1和ECS-2后解压3.12.3 在 ECS-1 和 ECS-2 上安装 Nginx3.12.4 配置 Nginx 反向代理3.13 测试高可用3.14 安装 Logtail 采集日志到 SLS3.14.1 创建弹性公网IP3.14.2 安装 Logtail3.14.3 在 SLS 控制台配置采集四、迁移过程中出现的问题一、阿里云的概念1.1 什么是阿里云阿里云Alibaba Cloud是阿里巴巴集团旗下的云计算服务平台成立于2009年是全球领先的云计算及人工智能科技公司之一。阿里云提供包括弹性计算、数据库、存储、网络、安全、大数据、人工智能等在内的全方位云服务服务范围覆盖全球200多个国家和地区。1.2 为什么要进行数据迁移1.2.1 本地部署的痛点痛点说明硬件成本高需要购买服务器、交换机、防火墙等硬件设备前期投入大运维复杂需要专业的运维团队负责服务器、网络、数据库的日常维护扩展性差业务增长时需要采购新硬件周期长、成本高高可用难保障单点故障风险高灾备方案复杂且昂贵安全防护弱需要自行应对DDoS攻击、数据泄露等安全威胁1.2.2 上云迁移的优势优势说明按量付费无需一次性投入硬件成本按需使用、按量付费高可用云平台提供SLB、RDS主备、多可用区等原生高可用能力弹性扩展支持随时升降配从容应对业务流量变化运维简化RDS、Redis等托管服务免去日常运维工作安全合规云平台提供DDoS防护、WAF、数据加密等安全能力日志服务SLS日志服务替代传统ELK免运维、低成本二、云上架构图三、迁移步骤3.1 资源清单资源名称规格内网地址/公网IPVPCruoyi-vpc10.0.0.0/16-交换机 Aruoyi-switch-a10.0.1.0/24可用区B交换机 Bruoyi-switch-b10.0.2.0/24可用区HECS-1ruoyi-ecs-012核4G CentOS 7.910.0.1.15ECS-2ruoyi-ecs-022核4G CentOS 7.910.0.2.101RDSruoyi-mysqlMySQL 5.7 2核4Grm-xxx.mysql.rds.aliyuncs.comRedisruoyi-redisRedis 6.0 1GBr-xxx.redis.rds.aliyuncs.comSLBruoyi-slb公网型 HTTP:80218.244.145.10SLSruoyi-logs-0829日志存储30天-3.2 创建 VPC 和交换机在阿里云中找到vpc进行以下操作这里是一个vpc下有两个交换机3.3 购买 ECS2台这里以一台为例购买两台2C4G的ECS第二台ECS是把交换机这一个换了3.4 安全组配置此操作是为了将两个ECS放到同一个安全组中添加规则将两个实例添加到新建的安全组中在创建vpc时会自动创建安全组自动创建的不删除3.5 购买 RDS MySQL这个只买一个就可以3.6 购买云 RedisTairredis也只要购买一个3.7 购买 SLB只买一个3.8 购买SLS开通后创建这里选择取消不接入数据3.9 获取RDS mysql 的内网地址和Redis 的内网地址3.9.1 获取RDS mysql 的内网地址在 RDS 详情页点击左侧菜单 “数据库连接” 或 “连接管理”3.9.2 获取Redis 的内网地址设置白名单3.10 数据迁移SQL 导入3.10.1 在RDS MySQL中先创建库和账号3.10.2 创建了数据库然后在本地终端上进行数据导出# 本地导出 SQLdockerexecmysql.server mysqldump-uroot-p123456\--default-character-setutf8mb4\--single-transaction\--set-gtid-purgedOFF\--no-create-db ry-vue/opt/ruoyi/sql/ry-vue-export.sql3.10.3 上传到 ECS-1在ruoyi文件里的sql找到ry-vue-export.sql将其放在电脑桌面上然后远程连接实例将数据上传到/opt目录下在左边有个文件点击文件然后双击/opt下的ruoyi目录。即可看到上传文件# 上传到 ECS-1通过 Workbench# 在 ECS-1 上导入 RDSrm-xxx.mysql.rds.aliyuncs.com是RDS MySql 的内网地址mysql-hrm-bp1064d028w406i06.mysql.rds.aliyuncs.com-uruoyi-pry-vue/root/ry-vue-export.sql# 验证mysql-hrm-xxx.mysql.rds.aliyuncs.com-uruoyi-pry-vue-eSHOW TABLES;# 结果30张表3.11 后端 jar 包配置与运行在ECS-1和ECS-2上进行3.11.1 在本地虚拟机从镜像中提取 jar 包# 从 Docker 镜像中复制 jar 包出来dockerrun--rmruoyi-admin:1.0cat/opt/ruoyi-admin.jar/tmp/ruoyi-admin.jar# 确认文件存在并将其放在桌面上ls-lh/tmp/ruoyi-admin.jar# 上传 /tmp/ruoyi-admin.jar 到 ECS-1 的 /opt3.11.2 安装JDK 1.8# 安装 JDK 1.8yuminstall-yjava-1.8.0-openjdk# 验证java-version3.11.3 application-druid.yml文件vimapplication-druid.yml# 数据源配置spring: datasource: type: com.alibaba.druid.pool.DruidDataSource driverClassName: com.mysql.cj.jdbc.Driver druid: master: url: jdbc:mysql://RDS MySql 的内网地址:3306/ry-vue?useUnicodetruecharacterEncodingutf8zeroDateTimeBehaviorconvertToNulluseSSLtrueserverTimezoneGMT%2B8 username: ruoyi password: 你的RDS密码 slave: enabled:falseurl: username: password: initialSize:5minIdle:10maxActive:20maxWait:60000connectTimeout:30000socketTimeout:60000timeBetweenEvictionRunsMillis:60000minEvictableIdleTimeMillis:300000maxEvictableIdleTimeMillis:900000validationQuery: SELECT1FROM DUAL testWhileIdle:truetestOnBorrow:falsetestOnReturn:falsewebStatFilter: enabled:truestatViewServlet: enabled:trueallow: url-pattern: /druid/* login-username: ruoyi login-password:123456filter: stat: enabled:truelog-slow-sql:trueslow-sql-millis:1000merge-sql:truewall: config: multi-statement-allow:true3.11.4 application.yml 文件vimapplication.yml ruoyi: name: RuoYi version:3.9.1 copyrightYear:2026profile: /opt/ruoyi/uploadPath addressEnabled:falsecaptchaType: math server: port:8080servlet: context-path: / tomcat: uri-encoding: UTF-8 accept-count:1000threads: max:800min-spare:100logging: level: com.ruoyi: debug org.springframework: warn user: password: maxRetryCount:5lockTime:10spring: messages: basename: i18n/messages profiles: active: druid servlet: multipart: max-file-size: 10MB max-request-size: 20MB devtools: restart: enabled:trueredis: host: redis内网地址 port:6379database:0password: 你的Redis密码 timeout: 10s lettuce: pool: min-idle:0max-idle:8max-active:8max-wait:-1mstoken: header: Authorization secret: abcdefghijklmnopqrstuvwxyz expireTime:30mybatis: typeAliasesPackage: com.ruoyi.**.domain mapperLocations: classpath*:mapper/**/*Mapper.xml configLocation: classpath:mybatis/mybatis-config.xml pagehelper: helperDialect: mysql supportMethodsArguments:trueparams:countcountSql swagger: enabled:truepathMapping: /dev-api referer: enabled:falseallowed-domains: localhost,127.0.0.1,ruoyi.vip,www.ruoyi.vip xss: enabled:trueexcludes: /system/notice urlPatterns: /system/*,/monitor/*,/tool/*3.11.5 运行 jar 包cd/opt/ruoyi# 在ECS-1和ECS-2上运行 jar 包java-jarruoyi-admin.jar# 让后端在后台持续运行nohupjava-jarruoyi-admin.jar/opt/ruoyi/logs/ruoyi.log21curlhttp://localhost:8080# 返回欢迎使用Ruoyi后台管理框架当前版本v3.9.13.12 前端迁移3.12.1 在本地虚拟机上找到dist文件cd/path/to/ruoyi-ui# 安装依赖如果 node_modules 不存在npminstall# 打包生产环境npmrun build:prod# 压缩 distzip-rdist.zip dist/3.12.2 上传到 ECS-1和ECS-2后解压cd/opt/ruoyiunzip-odist.zipcp-rdist /usr/share/nginx/html/3.12.3 在 ECS-1 和 ECS-2 上安装 Nginxyuminstall-ynginx# 启动 Nginxsystemctl start nginx systemctlenablenginx# 验证curlhttp://localhost:803.12.4 配置 Nginx 反向代理cat/etc/nginx/conf.d/ruoyi.confEOF server { listen 80; server_name _; root /usr/share/nginx/html/dist; index index.html index.htm; location / { try_files $uri $uri/ /index.html; } location /prod-api/ { proxy_pass http://127.0.0.1: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; } } EOF# 测试配置nginx-t# 重启 Nginxsystemctl restart nginx# 验证在浏览器访问 SLB 公网 IPhttp://218.244.145.103.13 测试高可用停止 ECS-1然后再次访问SLB 公网 http://218.244.145.103.14 安装 Logtail 采集日志到 SLS3.14.1 创建弹性公网IP在ECS实例这一块的基础信息里有一个弹性公网ip创建弹性公网ip这里需要绑定实例3.14.2 安装 Logtail# 下载安装脚本wget-T10-t2https://logtail-release-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/linux64/logtail.sh-Ologtail.sh# 安装bashlogtail.shinstallauto# 启动 Logtail/etc/init.d/ilogtaild start# 查看状态/etc/init.d/ilogtaild status3.14.3 在 SLS 控制台配置采集进入 SLS 控制台 → 选择 Project ruoyi-logs-0829把ruoyi-ecs-group作为应用机器组完成后等待一会就可以看到日志了四、迁移过程中出现的问题问题原因解决方案RDS 连接失败本地虚拟机不在 VPC 网段通过 ECS 中转导入 SQLLogtail 无法下载ECS 无公网 IP临时绑定弹性 IP装完释放RDS 白名单未配置忘记添加 ECS IP添加 10.0.1.15, 10.0.2.101

相关新闻

2026/8/31 15:53:59

C#实现发那科机器人二次开发:Socket通信与点位读写实战

简介:本资源是一套面向工业自动化工程师与机器人开发者的发那科(FANUC)机器人C#二次开发实践项目,聚焦于核心数据交互能力——通过C#调用官方SDK实现机器人点位信息的实时读取与控制参数写入,适用于汽车制造、电子装配…

2026/8/31 15:53:59

Claude Code多智能体协作:终端AI编程实践指南

这次我们不聊图像生成,也不聊本地大模型推理,而是看一个纯工程侧的 AI 编程工具:Anthropic 出品的 Claude Code,以及怎么基于它搭出一个小型多智能体协作流程。简单说,Claude Code 是跑在终端里的 AI 编程助手。它不是…

2026/8/31 15:53:59

基于STM32的超声波风速风向测量仪:从硬件到算法的完整工程复盘

简介:这是一套面向嵌入式初学者与课程设计者的STM32超声波风速风向测量仪完整开发资料,解决气象参数低成本、非接触式实时采集的技术实现问题,适用于电子设计竞赛、毕业设计及物联网传感节点开发场景。资源包共405个文件,涵盖114个…

2026/8/31 16:09:09

13、MTK平台功耗--音频子系统电源管理:音频编解码器电源控制、音频路径的功耗优化、VoLTE 通话场景下的功耗管理

音频子系统,说实话,在手机里是个「低调的耗电大户」。 你想想看,从你按下播放键,到耳机里传出声音,中间经过了多少个模块?音频编解码器、数字信号处理器、模拟放大器、喇叭、麦克风……每个环节都在吃电。我早年做功耗优化时,发现音频路径没优化好,整机待机电流能多出…

2026/8/31 16:09:09

MATLAB三维路径规划算法实现:A*与RRT避障路径生成

简介:本资源是一套面向机器人导航、无人机路径规划等领域的MATLAB三维避障路径生成实现方案,适用于具备基础MATLAB编程能力的本科生、研究生及工程实践者。资源聚焦三维空间下A 与RRT两类主流算法的工程化落地,涵盖坐标建模、障碍物多边形表…

2026/8/31 16:09:09

基于STM32的密码门锁开发实战:状态机与掉电存储

简介:本资源是一套基于STM32F103C8T6的嵌入式智能门锁完整开发方案,面向单片机初学者、电子设计竞赛备赛者及ARM嵌入式硬件开发者,解决多模态身份识别(密码/指纹/IC卡)与门控执行协同实现的技术实践问题。压缩包共236个…

2026/8/31 16:09:09

15、MTK平台功耗--Wi-Fi/BT/GPS 功耗管理:Wi-Fi 扫描与连接功耗、BT 低功耗模式(BLE)、GPS 定位功耗优化

15.1 Wi-Fi 扫描与连接功耗 Wi-Fi 的功耗大头,其实不在连接上,而在扫描上。你想想看,手机每隔几秒就要把周围所有的信道扫一遍,每个信道都要发 Probe Request、收 Probe Response,这能不费电吗? 15.1.1 扫描策略优化 MTK 的 Wi-Fi 驱动里,扫描参数是可以调的。我个人…

2026/8/31 16:09:09

Hmmsim Legacy报错闪退?手把手教你清理Add-ons文件夹不兼容线路

Hmmsim Legacy 这个游戏报错、闪退、加载线路卡住时,最常见的解决办法之一,就是进手机文件管理,找到它专用的 Add-ons 文件夹,把不兼容的线路文件夹直接删除。这个方法能解决一大批“明明游戏没问题,但一加载就报错”的…

2026/8/31 16:04:01

中文排版神器:横排文本转竖排PDF方案

软件介绍 这款由吾爱论坛makent原创开发的文本格式转换工具,专注于将TXT文件快速生成竖排PDF文档。 它突破常规排版限制,通过智能处理技术,将横排简体中文文本自动转换为竖排繁体格式,同时内置封面模板,为用户打造…

2026/8/31 1:05:20

vSound小提琴数字处理器实操指南:从接线到演出的完整配置

电小提琴或者原声小提琴插电演出,第一个绕不开的坎就是声音难听。原声琴的共鸣和空气感一旦进了拾音器,出来的往往是一坨干瘪、发尖、带着奇怪塑料味的信号。我当初第一次把琴接上乐队调音台,直接被主唱吐槽"你这声音像在锯钢丝"。…

2026/8/31 2:14:20

传感器接口IC如何攻克生物化学传感的微弱信号难题?

1. 从电极到比特流:为什么生物化学传感必须依赖专用接口IC 做生物化学传感的人都有过类似的经历:明明传感器本身性能很好,信号输出却一塌糊涂——噪声大、漂移明显、重复性差,怎么调都达不到预期。很多时候问题并不在传感器&#…

2026/8/31 1:41:28

STM32F411CEU6多通道ADC采集:扫描模式+DMA实现详解

1. 多通道 ADC 的用武之地把“Multichannel ADC”和“STM32F411CEU6”这两个关键字放在一起,其实就是嵌入式开发里最常遇到的一类需求:用一块不算贵的 MCU,同时采集多路模拟信号。STM32F411CEU6 是 48 引脚的 Cortex-M4F 主控,主频…

2026/8/31 0:07:32

STM32C5设备支持包(IAR DFP)安装指南与常见坑

上一阵子在IAR里折腾一块基于STM32C5系列的新板子,工程从STM32CubeMX导出来之后怎么都编译不过。报错信息很干脆:找不到设备描述文件。跟着错误路径去查,发现指向的是一个让我愣了一下的名字:STMicroelectronics.stm32c5xx.2.1.0.…

2026/8/31 0:07:32

STM32N657 SWO引脚矛盾:CubeMX显示PB3,数据手册为PB5

拿到STM32N657这颗料的第一天,我就撞上了一个让人原地懵圈的引脚矛盾:CubeMX里清清楚楚显示SWO在PB3,翻开数据手册的引脚说明表,却赫然写着PB5。对于一个靠SWO输出调试日志吃饭的人而言,这种"工具和手册打架"…

2026/8/31 12:44:45

实测才敢推 AI论文网站 2026最新测评与推荐

2026年真正好用的AI论文网站,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。一、综…

2026/8/31 9:19:59

2026必备!AI论文网站测评:最新推荐与深度对比

2026年真正好用的AI论文网站,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。 一、…

2026/8/31 6:53:02

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

一天写完毕业论文在2026年已不再是天方夜谭。2026年最炸裂、实测能大幅提速的AI论文写作工具,覆盖选题构思、文献整理、内容生成、格式排版等核心场景,真正帮你高效搞定论文难题。 一、全流程王者:一站式搞定论文全链路(一天定稿首…