若依从零到部署:前后端分离和微服务版

前后端分离版

基于Spring Boot和Vue.js的前后端分离权限管理。

一、环境准备

在开始之前,请确保开发环境已安装以下必要组件:

后端所需环境:

  • JDK >= 1.8(推荐JDK 8或JDK 11)
  • MySQL >= 5.7.0(推荐5.7版本)
  • Redis >= 3.0
  • Maven >= 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

二、项目下载与导入

  1. 获取源码
    若依前后端分离版源码托管在Gitee平台,可通过以下方式下载:
    • 方式一:Git克隆(推荐)
      git clone https://gitee.com/y_project/RuoYi-Vue.git
    • 方式二:下载ZIP压缩包
      访问若依官网 https://www.ruoyi.vip/,选择"前后端分离版本",点击下载ZIP包后解压。
  2. 项目结构说明
    下载完成后,项目目录结构如下:
java 复制代码
RuoYi-Vue/
├── ruoyi-admin/         # 后端主模块(启动类所在)
├── ruoyi-common/        # 通用工具类
├── ruoyi-framework/     # 框架核心
├── ruoyi-generator/     # 代码生成器
├── ruoyi-quartz/        # 定时任务
├── ruoyi-system/        # 系统模块
├── ruoyi-ui/           # 前端Vue项目
└── sql/                # 数据库脚本

三、数据库配置

  1. 创建数据库

    使用MySQL客户端(如Navicat、MySQL Workbench)创建数据库:

    • 数据库名:ry-vue
    • 字符集:utf8mb4
    • 排序规则:utf8_general_ci
  2. 执行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配置

  1. 启动Redis服务

    • Windows系统:

      • 进入Redis安装目录,双击运行 redis-server.exe
      • 保持窗口不关闭
    • Linux/Mac系统: redis-server

  2. 修改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

六、前端启动

  1. 进入前端目录:cd ruoyi-ui
  2. 安装依赖
java 复制代码
# 使用国内镜像源(推荐)
npm config set registry https://registry.npmmirror.com
npm install --registry=https://registry.npmmirror.com

# 如果依赖冲突,使用以下命令
npm i --legacy-peer-deps
  1. 启动前端服务
    npm run dev
    启动成功后,默认端口为80,浏览器会自动打开若依登录页面(http://localhost)。

七、登录系统

使用默认账号登录:

  • 用户名:admin
  • 密码:admin123

登录成功后,将看到若依后台管理系统的完整界面,包含用户管理、角色管理、菜单管理、部门管理、系统监控等功能模块。

八、代码生成器使用

若依提供了强大的代码生成器功能,可以根据数据库表自动生成前后端代码:

  1. 创建数据表
java 复制代码
CREATE TABLE test_table (
  id INT PRIMARY KEY AUTO_INCREMENT COMMENT '主键',
  name VARCHAR(50) COMMENT '名称',
  create_time DATETIME COMMENT '创建时间'
);
  1. 使用代码生成器
    • 登录系统后,进入"系统工具" → "代码生成"
    • 点击"导入",选择刚创建的数据表
    • 点击"预览",查看生成的代码
    • 填写基本信息后,点击"生成代码"

九、生产环境部署

  1. 前端打包
java 复制代码
# 进入前端目录
cd ruoyi-ui

# 打包生产环境代码
npm run build:prod

打包完成后,会生成 dist目录,包含编译好的静态资源。

  1. 后端打包
java 复制代码
# 进入项目根目录
cd RuoYi-Vue

# 打包后端
mvn clean package -DskipTests

打包成功后,在 ruoyi-admin/target目录下生成 ruoyi-admin.jar文件。

  1. 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即可访问系统。

  1. 启动后端服务
java 复制代码
# 后台启动后端服务
nohup java -jar ruoyi-admin.jar --spring.profiles.active=prod &

十、常见问题解决

  1. 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
  1. 启动时报OpenSSL错误
    package.json中添加Node参数:
java 复制代码
"scripts": {
  "dev": "set NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve"
}
  1. 数据库连接超时
    检查MySQL远程访问权限及防火墙规则,确保端口3306已开放。
  2. 前端访问空白页
    检查Nginx配置中的 try_files指令,或检查路由模式是否正确。
  3. 接口404错误
    确保Nginx的 proxy_pass路径与后端服务端口一致。

微服务版

基于Spring Cloud Alibaba的微服务架构快速开发平台,提供了完整的权限管理、代码生成、系统监控等功能。

一、环境准备

在开始之前,请确保开发环境已安装以下必要组件:

后端所需环境:

  • JDK >= 1.8(推荐JDK 8或JDK 11)
  • MySQL >= 5.7.0(推荐5.7版本)
  • Redis >= 3.0
  • Maven >= 3.0
  • Nacos >= 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

二、项目下载与导入

  1. 获取源码
    若依微服务版源码托管在Gitee平台,可通过以下方式下载:
    • 方式一:Git克隆(推荐)
      git clone https://gitee.com/y_project/RuoYi-Cloud.git
    • 方式二:下载ZIP压缩包
      访问若依官网 https://www.ruoyi.vip/,选择"微服务版本",点击下载ZIP包后解压。
  2. 项目结构说明
    下载完成后,项目目录结构如下:
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/                 # 数据库脚本

三、数据库配置

  1. 创建数据库
    使用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;
  1. 执行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(分布式事务表,可选)

四、Nacos配置中心部署

  1. 下载Nacos:访问Nacos官网 https://nacos.io/下载Nacos Server 2.0.4或更高版本。
  2. 配置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
  1. 启动Nacos
java 复制代码
# Windows系统
startup.cmd -m standalone

# Linux/Mac系统
sh startup.sh -m standalone

启动成功后访问 http://localhost:8848/nacos,使用默认账号密码(nacos/nacos)登录。

  1. 导入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

六、后端服务启动

启动顺序

按照以下顺序启动各微服务模块:

  1. ruoyi-gateway(网关模块,端口8080)
  2. ruoyi-auth(认证中心,端口9200)
  3. ruoyi-system(系统模块,端口9201)
  4. ruoyi-gen(代码生成,端口9202,可选)
  5. ruoyi-job(定时任务,端口9203,可选)
  6. ruoyi-file(文件服务,端口9300,可选)
  • 方式一:IDE启动(开发环境推荐)
  1. 使用IntelliJ IDEA导入项目为Maven项目
  2. 分别找到各模块的主启动类,依次启动
  3. 查看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

七、前端启动

  1. 进入前端目录:cd ruoyi-ui
  2. 安装依赖
java 复制代码
# 使用国内镜像源(推荐)
npm config set registry https://registry.npmmirror.com
npm install --registry=https://registry.npmmirror.com

# 如果依赖冲突,使用以下命令
npm i --legacy-peer-deps
  1. 修改配置文件
    打开 vue.config.js文件,修改后端API代理配置:
java 复制代码
proxy: {
  '/prod-api': {
    target: 'http://localhost:8080',
    changeOrigin: true,
    pathRewrite: {
      '^/prod-api': ''
    }
  }
}
  1. 启动前端服务
    npm run dev
    启动成功后,默认端口为80,浏览器会自动打开若依登录页面(http://localhost)。

八、登录系统

使用默认账号登录:

  • 用户名:admin
  • 密码:admin123

登录成功后,将看到若依后台管理系统的完整界面,包含用户管理、角色管理、菜单管理、部门管理、系统监控等功能模块。

九、代码生成器使用

若依微服务版提供了强大的代码生成器功能,可以根据数据库表自动生成前后端代码:

  1. 创建数据表
java 复制代码
CREATE TABLE test_table (
  id INT PRIMARY KEY AUTO_INCREMENT COMMENT '主键',
  name VARCHAR(50) COMMENT '名称',
  create_time DATETIME COMMENT '创建时间'
);
  1. 使用代码生成器

    1. 登录系统后,进入"系统工具" → "代码生成"
    2. 点击"导入",选择刚创建的数据表
    3. 配置生成信息:
      生成包路径:com.ruoyi.module
      生成模块名:demo
      生成业务名:测试管理
  2. 点击"预览",查看生成的代码

  3. 确认无误后,点击"生成代码"

  4. 导入生成的代码

    1. 后端代码:将生成的Java文件复制到对应模块的 src/main/java目录下
    2. 前端代码:将Vue文件复制到 ruoyi-ui/src/views目录下
    3. SQL脚本:执行生成的SQL文件,更新菜单表
    4. 重启前后端服务,即可看到新生成的功能模块

十、生产环境部署

  1. 前端打包
java 复制代码
# 进入前端目录
cd ruoyi-ui

# 打包生产环境代码
npm run build:prod

打包完成后,会生成 dist目录,包含编译好的静态资源。

  1. 后端打包
java 复制代码
# 进入项目根目录
cd RuoYi-Cloud

# 打包后端
mvn clean package -DskipTests

打包成功后,在各模块的 target目录下生成对应的jar包。

  1. 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;
    }
}

十一、常见问题解决

  1. 服务注册失败

    问题现象:服务无法注册到Nacos

    解决方案:

    • 检查Nacos服务是否正常启动
    • 确认Nacos配置中的数据库连接信息是否正确
    • 检查各微服务的 bootstrap.yml中的Nacos配置
  2. 数据库连接失败

    问题现象:启动时报数据库连接错误

    解决方案:

    • 确认MySQL服务是否启动
    • 检查数据库连接信息(用户名、密码、数据库名)
    • 确认数据库是否已创建并导入SQL脚本
  3. Redis连接失败

    问题现象:启动时报Redis连接错误

    解决方案:

    • 确认Redis服务是否启动
    • 检查Redis配置中的host、port、password是否正确
  4. 前端访问空白页

    问题现象:浏览器访问显示空白页面

    解决方案:

    • 检查前端是否正常启动
    • 确认Nginx配置中的静态资源路径是否正确
    • 检查前端代理配置是否指向正确的后端地址
  5. 代码生成器无法使用

    问题现象:代码生成器无法导入表或生成代码

    解决方案:

    • 确认数据库连接配置正确
    • 检查表结构是否符合要求(必须有主键、创建时间等字段)
    • 确认代码生成器模块(ruoyi-gen)已正常启动
相关推荐
Geoking.2 小时前
【设计模式】享元模式(Flyweight)详解:用共享对象对抗内存爆炸
java·设计模式·享元模式
小小王app小程序开发2 小时前
家政服务小程序特殊玩法开发全解析:技术实现+架构支撑+合规落地
小程序·架构
callJJ2 小时前
Spring设计模式与依赖注入详解
java·spring·设计模式·idea·工厂模式
ExiFengs2 小时前
Java使用策略模式实现多实体通用操作的优雅设计
java·开发语言·设计模式·策略模式
茶本无香2 小时前
设计模式之三—工厂模式:灵活对象创建的艺术
java·开发语言·设计模式·工厂模式
u0104058362 小时前
Spring Boot与Spring Cloud的协同:构建健壮的微服务架构
spring boot·spring cloud·架构
week_泽2 小时前
第7课:管理长期记忆的关键架构决策 - 学习笔记_7
java·笔记·学习·ai agent
爱装代码的小瓶子2 小时前
【c++进阶】c++11下类的新变化以及Lambda函数和封装器
java·开发语言·c++
乌萨奇也要立志学C++2 小时前
【Linux】线程同步 条件变量精讲 + 生产者消费者模型完整实现
java·linux·运维