前后端分离版
基于Spring Boot和Vue.js的前后端分离权限管理。
一、环境准备
在开始之前,请确保开发环境已安装以下必要组件:
后端所需环境:
JDK >= 1.8(推荐JDK 8或JDK 11)MySQL >= 5.7.0(推荐5.7版本)Redis >= 3.0Maven >= 3.0
前端所需环境:
Node.js >= 12.0(推荐LTS版本16.x或18.x)npm >= 6.0
验证环境是否安装成功:
java
java -version
mvn -version
mysql --version
redis-server --version
node -v
npm -v
二、项目下载与导入
- 获取源码
若依前后端分离版源码托管在Gitee平台,可通过以下方式下载:- 方式一:Git克隆(推荐)
git clone https://gitee.com/y_project/RuoYi-Vue.git - 方式二:下载ZIP压缩包
访问若依官网https://www.ruoyi.vip/,选择"前后端分离版本",点击下载ZIP包后解压。
- 方式一:Git克隆(推荐)
- 项目结构说明
下载完成后,项目目录结构如下:
java
RuoYi-Vue/
├── ruoyi-admin/ # 后端主模块(启动类所在)
├── ruoyi-common/ # 通用工具类
├── ruoyi-framework/ # 框架核心
├── ruoyi-generator/ # 代码生成器
├── ruoyi-quartz/ # 定时任务
├── ruoyi-system/ # 系统模块
├── ruoyi-ui/ # 前端Vue项目
└── sql/ # 数据库脚本
三、数据库配置
-
创建数据库
使用MySQL客户端(如Navicat、MySQL Workbench)创建数据库:
- 数据库名:
ry-vue - 字符集:
utf8mb4 - 排序规则:
utf8_general_ci
- 数据库名:
-
执行SQL脚本
按顺序执行项目sql目录下的两个脚本文件:
sql/quartz.sql(定时任务相关表)sql/ry_2023xxxx.sql(主业务表,文件名随版本更新)- 修改数据库配置
打开后端配置文件ruoyi-admin/src/main/resources/application-druid.yml,修改数据库连接信息:
java
# 数据源配置
druid:
url: jdbc:mysql://localhost:3306/ry-vue?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
username: root
password: your_mysql_password # 修改为你的数据库密码
四、Redis配置
-
启动Redis服务
-
Windows系统:
- 进入Redis安装目录,双击运行
redis-server.exe - 保持窗口不关闭
- 进入Redis安装目录,双击运行
-
Linux/Mac系统:
redis-server
-
-
修改Redis配置
打开配置文件ruoyi-admin/src/main/resources/application.yml,修改Redis连接信息:
java
redis:
host: localhost
port: 6379
password: # 如果Redis有密码,请填写
database: 0
五、后端启动
- 方式一:
IDE启动(开发环境推荐)
1.使用IntelliJ IDEA或Eclipse导入项目为Maven项目
2.找到主启动类:ruoyi-admin/src/main/java/com/ruoyi/RuoYiApplication.java
3.直接运行main方法
启动成功后,控制台会输出"RuoYi启动成功",默认端口8080。 - 方式二:
Maven命令启动
java
# 进入项目根目录
cd RuoYi-Vue
# 打包项目
mvn clean package -DskipTests
# 运行jar包
java -jar ruoyi-admin/target/ruoyi-admin.jar
六、前端启动
- 进入前端目录:
cd ruoyi-ui - 安装依赖
java
# 使用国内镜像源(推荐)
npm config set registry https://registry.npmmirror.com
npm install --registry=https://registry.npmmirror.com
# 如果依赖冲突,使用以下命令
npm i --legacy-peer-deps
- 启动前端服务
npm run dev
启动成功后,默认端口为80,浏览器会自动打开若依登录页面(http://localhost)。
七、登录系统
使用默认账号登录:
- 用户名:admin
- 密码:admin123
登录成功后,将看到若依后台管理系统的完整界面,包含用户管理、角色管理、菜单管理、部门管理、系统监控等功能模块。
八、代码生成器使用
若依提供了强大的代码生成器功能,可以根据数据库表自动生成前后端代码:
- 创建数据表
java
CREATE TABLE test_table (
id INT PRIMARY KEY AUTO_INCREMENT COMMENT '主键',
name VARCHAR(50) COMMENT '名称',
create_time DATETIME COMMENT '创建时间'
);
- 使用代码生成器
- 登录系统后,进入"系统工具" → "代码生成"
- 点击"导入",选择刚创建的数据表
- 点击"预览",查看生成的代码
- 填写基本信息后,点击"生成代码"
九、生产环境部署
- 前端打包
java
# 进入前端目录
cd ruoyi-ui
# 打包生产环境代码
npm run build:prod
打包完成后,会生成 dist目录,包含编译好的静态资源。
- 后端打包
java
# 进入项目根目录
cd RuoYi-Vue
# 打包后端
mvn clean package -DskipTests
打包成功后,在 ruoyi-admin/target目录下生成 ruoyi-admin.jar文件。
- Nginx配置
创建Nginx配置文件 nginx.conf:
java
server {
listen 80;
server_name your_domain.com;
# 前端静态资源
location / {
root /project/ruoyi-ui/dist;
index index.html;
try_files $uri $uri/ /index.html;
}
# 后端API代理
location /prod-api/ {
proxy_pass http://localhost:8080/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
启动Nginx后,访问 http://your_domain.com即可访问系统。
- 启动后端服务
java
# 后台启动后端服务
nohup java -jar ruoyi-admin.jar --spring.profiles.active=prod &
十、常见问题解决
npm install失败
java
# 使用淘宝镜像
npm config set registry https://registry.npmmirror.com
npm install --registry=https://registry.npmmirror.com
# 或使用cnpm
npm install -g cnpm --registry=https://registry.npmmirror.com
cnpm install
- 启动时报
OpenSSL错误
在package.json中添加Node参数:
java
"scripts": {
"dev": "set NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve"
}
- 数据库连接超时
检查MySQL远程访问权限及防火墙规则,确保端口3306已开放。 - 前端访问空白页
检查Nginx配置中的try_files指令,或检查路由模式是否正确。 - 接口404错误
确保Nginx的proxy_pass路径与后端服务端口一致。
微服务版
基于Spring Cloud Alibaba的微服务架构快速开发平台,提供了完整的权限管理、代码生成、系统监控等功能。
一、环境准备
在开始之前,请确保开发环境已安装以下必要组件:
后端所需环境:
JDK >= 1.8(推荐JDK 8或JDK 11)MySQL >= 5.7.0(推荐5.7版本)Redis >= 3.0Maven >= 3.0Nacos >= 2.0.4(服务注册与配置中心)
前端所需环境:
Node.js >= 12.0(推荐LTS版本16.x或18.x)npm >= 6.0
验证环境是否安装成功:
java
java -version
mvn -version
mysql --version
redis-server --version
node -v
npm -v
二、项目下载与导入
- 获取源码
若依微服务版源码托管在Gitee平台,可通过以下方式下载:- 方式一:Git克隆(推荐)
git clone https://gitee.com/y_project/RuoYi-Cloud.git - 方式二:下载ZIP压缩包
访问若依官网https://www.ruoyi.vip/,选择"微服务版本",点击下载ZIP包后解压。
- 方式一:Git克隆(推荐)
- 项目结构说明
下载完成后,项目目录结构如下:
java
RuoYi-Cloud/
├── ruoyi-gateway/ # 网关模块 [8080]
├── ruoyi-auth/ # 认证中心 [9200]
├── ruoyi-api/ # 接口模块
├── ruoyi-common/ # 通用模块
├── ruoyi-modules/ # 业务模块
│ ├── ruoyi-system/ # 系统模块 [9201]
│ ├── ruoyi-gen/ # 代码生成 [9202]
│ ├── ruoyi-job/ # 定时任务 [9203]
│ └── ruoyi-file/ # 文件服务 [9300]
├── ruoyi-visual/ # 图形化管理模块
├── ruoyi-ui/ # 前端Vue项目 [80]
└── sql/ # 数据库脚本
三、数据库配置
- 创建数据库
使用MySQL客户端创建以下三个数据库:
java
-- 系统业务数据库
CREATE DATABASE ry_cloud CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
-- Nacos配置数据库
CREATE DATABASE ry_config CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
-- Seata分布式事务数据库(可选)
CREATE DATABASE ry_seata CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
- 执行SQL脚本
按顺序执行项目sql目录下的脚本文件:- ry_cloud数据库:导入
sql/ry_2023xxxx.sql(主业务表)和 sql/quartz.sql(定时任务表) - ry_config数据库:导入
sql/ry_config_2023xxxx.sql(Nacos配置表) - ry_seata数据库:导入
sql/ry_seata_20210128.sql(分布式事务表,可选)
- ry_cloud数据库:导入
四、Nacos配置中心部署
- 下载Nacos:访问Nacos官网
https://nacos.io/下载Nacos Server 2.0.4或更高版本。 - 配置Nacos数据库:修改Nacos配置文件
conf/application.properties:
java
# 数据源配置
spring.datasource.platform=mysql
db.num=1
db.url.0=jdbc:mysql://localhost:3306/ry_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.user=root
db.password=your_password
- 启动Nacos
java
# Windows系统
startup.cmd -m standalone
# Linux/Mac系统
sh startup.sh -m standalone
启动成功后访问 http://localhost:8848/nacos,使用默认账号密码(nacos/nacos)登录。
- 导入Nacos配置
在Nacos控制台的"配置管理"中,导入项目中的配置文件(位于 ruoyi-xxx/src/main/resources/bootstrap.yml),并修改以下关键配置:
ruoyi-gateway-dev.yml:
java
spring:
redis:
host: localhost
port: 6379
password: your_redis_password
ruoyi-auth-dev.yml:
spring:
redis:
host: localhost
port: 6379
password: your_redis_password
ruoyi-system-dev.yml:
spring:
redis:
host: localhost
port: 6379
password: your_redis_password
datasource:
druid:
master:
url: jdbc:mysql://localhost:3306/ry_cloud?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
username: root
password: your_mysql_password
五、Redis配置
启动Redis服务
-
Windows系统:
- 进入Redis安装目录,双击运行 redis-server.exe
- 保持窗口不关闭
-
Linux/Mac系统:
redis-server
六、后端服务启动
启动顺序
按照以下顺序启动各微服务模块:
ruoyi-gateway(网关模块,端口8080)ruoyi-auth(认证中心,端口9200)ruoyi-system(系统模块,端口9201)ruoyi-gen(代码生成,端口9202,可选)ruoyi-job(定时任务,端口9203,可选)ruoyi-file(文件服务,端口9300,可选)
- 方式一:
IDE启动(开发环境推荐)
- 使用
IntelliJ IDEA导入项目为Maven项目 - 分别找到各模块的主启动类,依次启动
- 查看
Nacos控制台,确认所有服务已成功注册
- 方式二:
Maven命令启动
java
# 进入项目根目录
cd RuoYi-Cloud
# 打包项目
mvn clean package -DskipTests
# 分别启动各模块
java -jar ruoyi-gateway/target/ruoyi-gateway.jar
java -jar ruoyi-auth/target/ruoyi-auth.jar
java -jar ruoyi-system/target/ruoyi-system.jar
七、前端启动
- 进入前端目录:
cd ruoyi-ui - 安装依赖
java
# 使用国内镜像源(推荐)
npm config set registry https://registry.npmmirror.com
npm install --registry=https://registry.npmmirror.com
# 如果依赖冲突,使用以下命令
npm i --legacy-peer-deps
- 修改配置文件
打开vue.config.js文件,修改后端API代理配置:
java
proxy: {
'/prod-api': {
target: 'http://localhost:8080',
changeOrigin: true,
pathRewrite: {
'^/prod-api': ''
}
}
}
- 启动前端服务
npm run dev
启动成功后,默认端口为80,浏览器会自动打开若依登录页面(http://localhost)。
八、登录系统
使用默认账号登录:
- 用户名:admin
- 密码:admin123
登录成功后,将看到若依后台管理系统的完整界面,包含用户管理、角色管理、菜单管理、部门管理、系统监控等功能模块。
九、代码生成器使用
若依微服务版提供了强大的代码生成器功能,可以根据数据库表自动生成前后端代码:
- 创建数据表
java
CREATE TABLE test_table (
id INT PRIMARY KEY AUTO_INCREMENT COMMENT '主键',
name VARCHAR(50) COMMENT '名称',
create_time DATETIME COMMENT '创建时间'
);
-
使用代码生成器
- 登录系统后,进入"系统工具" → "代码生成"
- 点击"导入",选择刚创建的数据表
- 配置生成信息:
生成包路径:com.ruoyi.module
生成模块名:demo
生成业务名:测试管理
-
点击"预览",查看生成的代码
-
确认无误后,点击"生成代码"
-
导入生成的代码
- 后端代码:将生成的Java文件复制到对应模块的 src/main/java目录下
- 前端代码:将Vue文件复制到 ruoyi-ui/src/views目录下
- SQL脚本:执行生成的SQL文件,更新菜单表
- 重启前后端服务,即可看到新生成的功能模块
十、生产环境部署
- 前端打包
java
# 进入前端目录
cd ruoyi-ui
# 打包生产环境代码
npm run build:prod
打包完成后,会生成 dist目录,包含编译好的静态资源。
- 后端打包
java
# 进入项目根目录
cd RuoYi-Cloud
# 打包后端
mvn clean package -DskipTests
打包成功后,在各模块的 target目录下生成对应的jar包。
- Nginx配置
创建Nginx配置文件nginx.conf:
java
server {
listen 80;
server_name your_domain.com;
# 前端静态资源
location / {
root /project/ruoyi-ui/dist;
index index.html;
try_files $uri $uri/ /index.html;
}
# 后端API代理
location /prod-api/ {
proxy_pass http://localhost:8080/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
十一、常见问题解决
-
服务注册失败
问题现象:服务无法注册到
Nacos解决方案:
- 检查
Nacos服务是否正常启动 - 确认
Nacos配置中的数据库连接信息是否正确 - 检查各微服务的
bootstrap.yml中的Nacos配置
- 检查
-
数据库连接失败
问题现象:启动时报数据库连接错误
解决方案:
- 确认
MySQL服务是否启动 - 检查数据库连接信息(用户名、密码、数据库名)
- 确认数据库是否已创建并导入
SQL脚本
- 确认
-
Redis连接失败问题现象:启动时报
Redis连接错误解决方案:
- 确认
Redis服务是否启动 - 检查
Redis配置中的host、port、password是否正确
- 确认
-
前端访问空白页
问题现象:浏览器访问显示空白页面
解决方案:
- 检查前端是否正常启动
- 确认
Nginx配置中的静态资源路径是否正确 - 检查前端代理配置是否指向正确的后端地址
-
代码生成器无法使用
问题现象:代码生成器无法导入表或生成代码
解决方案:
- 确认数据库连接配置正确
- 检查表结构是否符合要求(必须有主键、创建时间等字段)
- 确认代码生成器模块(
ruoyi-gen)已正常启动