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

前后端分离版

基于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)已正常启动
相关推荐
摇滚侠12 小时前
expdp 查看帮助
java·数据库·oracle
:12112 小时前
java基础
java·开发语言
曹牧13 小时前
Spring:@RequestMapping注解,匹配的顺序与上下文无关
java·后端·spring
空中海13 小时前
Kubernetes 入门基础与核心架构
贪心算法·架构·kubernetes
daixin884813 小时前
cursor无法正常使用gpt5.5等模型解决方案
java·redis·cursor
韦禾水14 小时前
记录一次项目部署到tomcat的异常
java·tomcat
曦月合一14 小时前
树莓派安装jdk、tomcat、vnc、谷歌浏览器开机自启等环境配置
java·tomcat·树莓派
米高梅狮子14 小时前
08.CronJob和Service
云原生·容器·架构·kubernetes·自动化
此剑之势丶愈斩愈烈14 小时前
openssl 自建证书
java
面汤放盐14 小时前
何时使用以及何时不应使用微服务:没有银弹
java·运维·云计算