当前位置: 首页 > news >正文

【实战】RuoYi-Vue开发环境一站式部署:从零到一启动前后端分离项目

1. 环境准备:从零搭建基础组件

刚接触RuoYi-Vue时,最头疼的就是环境搭建。记得我第一次部署时,光是处理各种依赖冲突就花了整整两天。现在把踩坑经验总结成这份保姆级教程,帮你半小时搞定全套环境。

JDK安装是第一个门槛。推荐使用JDK 1.8(官方要求≥1.8),实测OpenJDK和Oracle JDK都兼容。以Ubuntu为例:

sudo apt update sudo apt install openjdk-8-jdk

安装后验证版本:

java -version # 应显示类似:openjdk version "1.8.0_312"

Docker部署能极大简化后续组件的安装。这里有个小技巧:国内用户建议先配置镜像加速:

sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["https://your-mirror.mirror.aliyuncs.com"] } EOF sudo systemctl restart docker

2. 数据库与缓存服务部署

2.1 MySQL 5.7容器化安装

官方推荐MySQL≥5.7,实测5.7.37最稳定。用Docker启动时要注意端口映射:

docker run --name ruoyi-mysql \ -p 3307:3306 \ -e MYSQL_ROOT_PASSWORD=yourpassword \ -d mysql:5.7.37 \ --character-set-server=utf8mb4 \ --collation-server=utf8mb4_unicode_ci

这里特意映射到3307端口,避免与本地已有MySQL冲突。连接测试时建议安装mysql-client:

apt-get install mysql-client mysql -h127.0.0.1 -P3307 -uroot -p

2.2 Redis配置技巧

Redis版本要求≥3.0,推荐使用6.2稳定版。启动容器时建议挂载数据卷持久化:

mkdir -p /docker/redis/data docker run --name ruoyi-redis \ -p 6379:6379 \ -v /docker/redis/data:/data \ -d redis:6.2 \ --appendonly yes

遇到过生产环境Redis突然挂掉的情况,所以强烈建议开启appendonly持久化。

3. 源码获取与初始化

3.1 克隆与项目结构

从Gitee克隆时可能会遇到网络问题,可以尝试多次重试或使用SSH方式:

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

项目结构说明:

  • ruoyi-admin:后端核心模块
  • ruoyi-ui:前端Vue项目
  • sql/:包含两个关键SQL文件
    • ry_20210908.sql:基础数据表结构
    • quartz.sql:定时任务相关表

3.2 数据库初始化避坑指南

执行SQL前务必先创建数据库并设置编码:

CREATE DATABASE `ry-vue` DEFAULT CHARACTER SET utf8mb4;

常见问题解决方案:

  1. 中文乱码:执行SQL前先运行set names utf8mb4;
  2. 时区错误:在连接字符串追加&serverTimezone=Asia/Shanghai
  3. SSL警告:添加&useSSL=false(开发环境可用)

4. 前后端配置实战

4.1 后端关键配置

修改application-druid.yml时注意:

url: jdbc:mysql://localhost:3307/ry-vue?useUnicode=true&characterEncoding=utf8 username: root password: yourpassword

Redis配置在application.yml中:

redis: host: localhost port: 6379 password: # 如果有密码需要填写

4.2 前端运行常见问题

ruoyi-ui目录下执行:

npm install --registry=https://registry.npmmirror.com npm run dev

踩过的坑:

  • Node版本必须≥12,建议使用14.x LTS版
  • 不要直接使用cnpm,可能引发诡异bug
  • 内存不足时可设置:export NODE_OPTIONS=--max_old_space_size=4096

5. 联调与验证

5.1 后端启动排错

看到这个图案说明启动成功:

(♥◠‿◠)ノ゙ 若依启动成功 ლ(´ڡ`ლ)゙

常见启动失败原因:

  1. 日志目录权限问题:修改logback.xml中的log.path
  2. 端口冲突:检查8080端口是否被占用
  3. 数据库连接失败:确认账号密码和端口

5.2 前端访问验证

启动成功后访问http://localhost:80,默认凭证:

  • 用户名:admin
  • 密码:admin123

第一次登录建议立即修改密码。如果遇到页面空白,检查浏览器控制台是否有404错误,可能是前端路由配置问题。

6. 开发环境优化建议

  1. IDEA配置:安装Lombok插件,开启注解处理
  2. 热部署:后端添加spring-boot-devtools依赖
  3. API调试:使用knife4j替代原生swagger(已集成)
  4. 内存优化:给JVM添加参数-Xms512m -Xmx1024m

我在团队中推行这套配置时,发现新人最容易忽略的是数据库时区设置。有一次全组人花了三小时排查时间戳不对的问题,最后发现是MySQL时区没配置为东八区。现在我们都养成了在连接字符串强制指定时区的习惯。

http://www.jsqmd.com/news/660779/

相关文章:

  • 别再死记硬背了!用‘阅览室占座’和‘独木桥过河’两个生活例子,彻底搞懂操作系统的P、V操作
  • Notepad--:跨平台文本编辑器的深度技术解析与效率提升指南
  • 暗黑破坏神2终极优化指南:3步解锁60帧宽屏游戏体验
  • Prefill与Decode资源分配的艺术:如何用20%的GPU支撑80%的大模型推理负载
  • 抖音去水印批量下载器:3分钟搞定无水印视频下载的终极指南
  • DOICT 融合的产业与技术背景
  • 当 ROS Noetic 遇上 Conda:在 Ubuntu 20.04 上管理 Python 环境的避坑指南
  • 2026年接地箱深度选型:如何为电力工程匹配最佳方案? - 速递信息
  • 从MNIST到医疗影像:DIRNet模型调优实战,聊聊B样条与薄板样条怎么选
  • 玩转CloudCompare点云着色:手把手教你配置Scalar Field,让强度、高程数据一目了然
  • 当贝叶斯遇见流数据:Bayesian Online Changepoint Detection如何革新实时监控系统?
  • 如何快速解决Calibre中文路径乱码:NoTrans插件完整使用指南
  • 从‘夹断’到‘亚阈值’:一个硬件工程师的CMOS晶体管工作区避坑指南
  • Redux DevTools终极指南:3大调试技巧快速解决状态管理难题
  • Antisymmetry(信息学奥赛一本通- P1462)
  • 2026年4月拍摄剪辑培训学校推荐:五家口碑产品评测对比领先新手转行就业难
  • 终极指南:如何快速掌握PCILeech DMA攻击软件的核心功能与实战应用
  • Anthropic 托管 Agent 平台上线后,测试对象开始从功能点转向运行系统
  • 留学踩坑赔10万?揭秘德国留学的隐形门槛 - 速递信息
  • 深度解析:SensitivityMatcher如何通过多周期监控算法实现跨游戏鼠标灵敏度精准转换
  • 知识图谱里的“辈分”怎么算?聊聊HAKE如何用极坐标建模语义层级
  • OpenFang 部署与初步验证记录
  • LoRA训练实战41:用QwenImageEdit2511训练“灵魂画手”风格LoRA,保姆级全流程教程,一学就会!
  • 精准核验放心售后——2026年4月北京格拉苏蒂官方售后网点考察报告 - 速递信息
  • [Java][Leetcode hard] 42. 接雨水
  • 2026年硅油膜厂家推荐排行榜:不错的硅油膜生产企业/靠谱的硅油膜批发厂家/值得信赖的硅油膜生产商 - 品牌策略师
  • SensitivityMatcher:3D游戏鼠标灵敏度转换的终极免费方案
  • 告别混乱!用mplfinance的Panels功能(v0.12.6a3)优雅绘制MACD等多指标子图
  • OpenRGB:跨平台RGB灯光统一控制终极指南,告别多厂商软件困扰
  • 技术深度解析:libwdi如何重新定义Windows USB驱动安装架构