第03章 - 环境准备与安装部署

第03章 - 环境准备与安装部署

3.1 开发环境要求

3.1.1 硬件要求

开发环境推荐配置:

项目 最低配置 推荐配置
CPU 4核 8核及以上
内存 8GB 16GB及以上
硬盘 50GB可用空间 SSD 100GB以上
网络 稳定的网络连接 良好的网络环境

3.1.2 软件要求

软件 版本要求 用途
JDK 1.8+ Java运行环境
Maven 3.6+ 项目构建工具
MySQL 5.7+ 或 8.0+ 关系型数据库
Redis 5.0+ 缓存数据库
Nacos 2.0+ 注册配置中心
Node.js 14+ 前端构建环境
Git 2.0+ 版本控制
IDE IDEA 2020+ 开发工具

3.2 基础环境安装

3.2.1 JDK安装配置

Windows系统安装

  1. 下载JDK 1.8

  2. 安装JDK

    • 双击安装程序
    • 选择安装路径(建议不含中文和空格)
  3. 配置环境变量

    # 新建系统变量
    JAVA_HOME = C:\Program Files\Java\jdk1.8.0_xxx
    
    # 编辑Path变量,添加
    %JAVA_HOME%\bin
    
  4. 验证安装

    java -version
    javac -version
    

Linux系统安装

# Ubuntu/Debian
sudo apt update
sudo apt install openjdk-8-jdk

# CentOS/RHEL
sudo yum install java-1.8.0-openjdk-devel

# 验证安装
java -version

3.2.2 Maven安装配置

下载与安装

  1. 下载Maven

  2. 解压到指定目录

    C:\Program Files\apache-maven-3.x.x
    
  3. 配置环境变量

    # 新建系统变量
    MAVEN_HOME = C:\Program Files\apache-maven-3.x.x
    
    # 编辑Path变量,添加
    %MAVEN_HOME%\bin
    
  4. 验证安装

    mvn -version
    

配置阿里云镜像

编辑 %MAVEN_HOME%/conf/settings.xml

<mirrors>
    <mirror>
        <id>aliyunmaven</id>
        <mirrorOf>*</mirrorOf>
        <name>阿里云公共仓库</name>
        <url>https://maven.aliyun.com/repository/public</url>
    </mirror>
</mirrors>

配置本地仓库

<localRepository>D:\maven\repository</localRepository>

3.2.3 Node.js安装配置

下载与安装

  1. 下载Node.js LTS版本

  2. 安装Node.js

    • Windows:运行安装程序
    • Linux:使用包管理器或nvm
  3. 验证安装

    node -v
    npm -v
    

配置npm镜像

# 设置淘宝镜像
npm config set registry https://registry.npmmirror.com

# 验证配置
npm config get registry

3.2.4 Git安装配置

Windows安装

  1. 下载Git

  2. 安装Git

    • 运行安装程序
    • 使用默认配置即可
  3. 配置用户信息

    git config --global user.name "Your Name"
    git config --global user.email "your.email@example.com"
    

3.3 MySQL安装配置

3.3.1 Windows安装

使用安装包安装

  1. 下载MySQL

  2. 安装MySQL

    • 选择Developer Default或Custom
    • 配置root密码
    • 配置端口(默认3306)
  3. 验证安装

    mysql -u root -p
    

3.3.2 Linux安装

Ubuntu/Debian

# 安装MySQL
sudo apt update
sudo apt install mysql-server

# 启动服务
sudo systemctl start mysql
sudo systemctl enable mysql

# 安全配置
sudo mysql_secure_installation

# 登录MySQL
sudo mysql -u root -p

CentOS/RHEL

# 添加MySQL仓库
sudo yum localinstall https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm

# 安装MySQL
sudo yum install mysql-community-server

# 启动服务
sudo systemctl start mysqld
sudo systemctl enable mysqld

# 获取临时密码
sudo grep 'temporary password' /var/log/mysqld.log

# 登录并修改密码
mysql -u root -p
ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPassword@123';

3.3.3 配置优化

配置文件位置

  • Windows: C:\ProgramData\MySQL\MySQL Server 8.0\my.ini
  • Linux: /etc/mysql/mysql.conf.d/mysqld.cnf/etc/my.cnf

推荐配置

[mysqld]
# 字符集设置
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci

# 连接数
max_connections=500

# 缓冲区大小
innodb_buffer_pool_size=1G

# 日志
slow_query_log=1
slow_query_log_file=/var/log/mysql/slow.log
long_query_time=2

# 时区
default-time-zone='+08:00'

# 大小写不敏感
lower_case_table_names=1

3.3.4 创建数据库

-- 创建数据库
CREATE DATABASE `ry-cloud` CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

-- 创建用户
CREATE USER 'ruoyi'@'%' IDENTIFIED BY 'ruoyi@123';

-- 授权
GRANT ALL PRIVILEGES ON `ry-cloud`.* TO 'ruoyi'@'%';
FLUSH PRIVILEGES;

3.4 Redis安装配置

3.4.1 Windows安装

由于Redis官方不支持Windows,可以使用以下方式:

  1. 使用WSL2

    # 在WSL2中安装
    sudo apt update
    sudo apt install redis-server
    sudo service redis-server start
    
  2. 使用非官方Windows版本

3.4.2 Linux安装

Ubuntu/Debian

# 安装Redis
sudo apt update
sudo apt install redis-server

# 启动服务
sudo systemctl start redis-server
sudo systemctl enable redis-server

# 验证
redis-cli ping

CentOS/RHEL

# 安装EPEL仓库
sudo yum install epel-release

# 安装Redis
sudo yum install redis

# 启动服务
sudo systemctl start redis
sudo systemctl enable redis

3.4.3 配置优化

编辑配置文件 /etc/redis/redis.conf

# 绑定地址(允许远程访问)
bind 0.0.0.0

# 端口
port 6379

# 密码(生产环境必须设置)
requirepass your_password

# 最大内存
maxmemory 512mb

# 内存淘汰策略
maxmemory-policy allkeys-lru

# 持久化配置
appendonly yes
appendfsync everysec

# 数据库数量
databases 16

3.5 Nacos安装配置

3.5.1 单机模式安装

下载Nacos

# 下载
wget https://github.com/alibaba/nacos/releases/download/2.2.3/nacos-server-2.2.3.tar.gz

# 解压
tar -xvf nacos-server-2.2.3.tar.gz
cd nacos

配置数据库

  1. 执行SQL脚本

    # 脚本位置:nacos/conf/mysql-schema.sql
    mysql -u root -p ry-cloud < conf/mysql-schema.sql
    
  2. 修改配置文件 conf/application.properties

    # 数据源配置
    spring.datasource.platform=mysql
    db.num=1
    db.url.0=jdbc:mysql://127.0.0.1:3306/ry-cloud?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
    db.user.0=root
    db.password.0=your_password
    

启动Nacos

# Linux/Mac
sh startup.sh -m standalone

# Windows
startup.cmd -m standalone

访问控制台

3.5.2 导入配置

RuoYi-Cloud需要在Nacos中导入配置文件,配置文件位于项目的 sql/ry_config_*.sql 中。

方式一:使用SQL导入

mysql -u root -p ry-cloud < sql/ry_config_20250902.sql

方式二:手动创建

在Nacos控制台中创建以下配置(命名空间默认public):

Data ID Group 说明
ruoyi-gateway-dev.yml DEFAULT_GROUP 网关配置
ruoyi-auth-dev.yml DEFAULT_GROUP 认证配置
ruoyi-system-dev.yml DEFAULT_GROUP 系统模块配置
ruoyi-gen-dev.yml DEFAULT_GROUP 代码生成配置
ruoyi-job-dev.yml DEFAULT_GROUP 定时任务配置
ruoyi-file-dev.yml DEFAULT_GROUP 文件服务配置
ruoyi-monitor-dev.yml DEFAULT_GROUP 监控配置
application-dev.yml DEFAULT_GROUP 公共配置

3.5.3 配置示例

application-dev.yml(公共配置)

spring:
  autoconfigure:
    exclude: com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure
  jackson:
    date-format: yyyy-MM-dd HH:mm:ss
    time-zone: GMT+8

# feign配置
feign:
  sentinel:
    enabled: true
  okhttp:
    enabled: true
  httpclient:
    enabled: false
  client:
    config:
      default:
        connectTimeout: 10000
        readTimeout: 10000
  compression:
    request:
      enabled: true
      min-request-size: 8192
    response:
      enabled: true

# 安全配置
security:
  # 验证码
  captcha:
    enabled: true
    type: math
  # XSS过滤
  xss:
    enabled: true
    excludeUrls:
      - /system/notice
  # 不校验白名单
  ignore:
    whites:
      - /auth/logout
      - /auth/login
      - /auth/register
      - /*/v3/api-docs
      - /csrf

ruoyi-system-dev.yml(系统模块配置)

spring:
  redis:
    host: localhost
    port: 6379
    password:
  datasource:
    druid:
      stat-view-servlet:
        enabled: true
        loginUsername: admin
        loginPassword: 123456
    dynamic:
      druid:
        initial-size: 5
        min-idle: 5
        maxActive: 20
        maxWait: 60000
        timeBetweenEvictionRunsMillis: 60000
        minEvictableIdleTimeMillis: 300000
        validationQuery: SELECT 1 FROM DUAL
        testWhileIdle: true
        testOnBorrow: false
        testOnReturn: false
        poolPreparedStatements: true
        maxPoolPreparedStatementPerConnectionSize: 20
        filters: stat,slf4j
        connectionProperties: druid.stat.mergeSql\=true;druid.stat.slowSqlMillis\=5000
      datasource:
        master:
          driver-class-name: com.mysql.cj.jdbc.Driver
          url: jdbc:mysql://localhost:3306/ry-cloud?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
          username: root
          password: password
        slave:
          enabled: false
          driver-class-name: com.mysql.cj.jdbc.Driver
          url:
          username:
          password:

# mybatis配置
mybatis:
  typeAliasesPackage: com.ruoyi.system
  mapperLocations: classpath:mapper/**/*.xml

# springdoc配置
springdoc:
  gatewayUrl: http://localhost:8080

3.6 项目下载与导入

3.6.1 获取源码

方式一:Git克隆(推荐)

# 从Gitee克隆(推荐,速度快)
git clone https://gitee.com/y_project/RuoYi-Cloud.git

# 从GitHub克隆
git clone https://github.com/yangzongzhuan/RuoYi-Cloud.git

方式二:下载ZIP

3.6.2 导入IDEA

  1. 打开IDEA

    • File -> Open -> 选择项目根目录
  2. 等待Maven下载依赖

    • 首次导入需要下载大量依赖
    • 建议使用阿里云镜像加速
  3. 配置JDK

    • File -> Project Structure -> Project Settings -> Project
    • 选择JDK 1.8
  4. 刷新Maven

    • 右键pom.xml -> Maven -> Reload Project

3.6.3 项目结构说明

RuoYi-Cloud/
├── bin/                          # 执行脚本
│   ├── clean.bat                # 清理脚本
│   ├── package.bat              # 打包脚本
│   └── run.bat                  # 运行脚本
├── docker/                       # Docker配置
│   ├── docker-compose.yml       # 编排文件
│   ├── mysql/                   # MySQL配置
│   ├── nginx/                   # Nginx配置
│   ├── nacos/                   # Nacos配置
│   ├── redis/                   # Redis配置
│   └── ruoyi/                   # 应用Dockerfile
├── ruoyi-api/                    # 接口模块
│   └── ruoyi-api-system/        # 系统接口
├── ruoyi-auth/                   # 认证中心
├── ruoyi-common/                 # 通用模块
│   ├── ruoyi-common-core/       # 核心模块
│   ├── ruoyi-common-datascope/  # 数据权限
│   ├── ruoyi-common-datasource/ # 多数据源
│   ├── ruoyi-common-log/        # 日志模块
│   ├── ruoyi-common-redis/      # 缓存模块
│   ├── ruoyi-common-seata/      # 分布式事务
│   ├── ruoyi-common-security/   # 安全模块
│   ├── ruoyi-common-sensitive/  # 数据脱敏
│   └── ruoyi-common-swagger/    # 接口文档
├── ruoyi-gateway/                # 网关服务
├── ruoyi-modules/                # 业务模块
│   ├── ruoyi-file/              # 文件服务
│   ├── ruoyi-gen/               # 代码生成
│   ├── ruoyi-job/               # 定时任务
│   └── ruoyi-system/            # 系统模块
├── ruoyi-ui/                     # 前端项目
├── ruoyi-visual/                 # 可视化模块
│   └── ruoyi-monitor/           # 监控中心
├── sql/                          # SQL脚本
│   ├── quartz.sql               # Quartz表结构
│   ├── ry_*.sql                 # 业务表结构
│   └── ry_config_*.sql          # Nacos配置
└── pom.xml                       # 父工程POM

3.7 数据库初始化

3.7.1 执行SQL脚本

按顺序执行以下SQL脚本:

# 1. 创建数据库
CREATE DATABASE `ry-cloud` CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

# 2. 导入业务表结构和数据
mysql -u root -p ry-cloud < sql/ry_20250523.sql

# 3. 导入Quartz表结构
mysql -u root -p ry-cloud < sql/quartz.sql

# 4. 导入Nacos配置(如果使用MySQL存储Nacos配置)
mysql -u root -p ry-cloud < sql/ry_config_20250902.sql

# 5. 如果使用Seata,导入Seata表结构
mysql -u root -p ry-cloud < sql/ry_seata_20210128.sql

3.7.2 数据库表说明

系统管理表

表名 说明
sys_user 用户表
sys_dept 部门表
sys_role 角色表
sys_menu 菜单表
sys_user_role 用户角色关联表
sys_role_menu 角色菜单关联表
sys_role_dept 角色部门关联表
sys_post 岗位表
sys_user_post 用户岗位关联表
sys_dict_type 字典类型表
sys_dict_data 字典数据表
sys_config 参数配置表
sys_notice 通知公告表
sys_oper_log 操作日志表
sys_logininfor 登录日志表

定时任务表

表名 说明
sys_job 定时任务表
sys_job_log 定时任务日志表
QRTZ_* Quartz相关表

代码生成表

表名 说明
gen_table 代码生成业务表
gen_table_column 代码生成字段表

3.8 后端项目启动

3.8.1 启动顺序

RuoYi-Cloud各服务需要按照以下顺序启动:

1. Nacos(注册中心、配置中心)
2. Redis(缓存服务)
3. MySQL(数据库服务)
4. ruoyi-gateway(网关服务)
5. ruoyi-auth(认证中心)
6. ruoyi-system(系统模块)
7. 其他业务模块(可选)

3.8.2 IDEA启动方式

  1. 配置启动项

    在IDEA中创建Spring Boot启动配置:

    • Run -> Edit Configurations -> + -> Spring Boot
    • Name: RuoYiGatewayApplication
    • Main class: com.ruoyi.gateway.RuoYiGatewayApplication
    • Active profiles: dev
  2. 启动各服务

    按顺序启动以下Application类:

    com.ruoyi.gateway.RuoYiGatewayApplication
    com.ruoyi.auth.RuoYiAuthApplication
    com.ruoyi.system.RuoYiSystemApplication
    com.ruoyi.gen.RuoYiGenApplication (可选)
    com.ruoyi.job.RuoYiJobApplication (可选)
    com.ruoyi.file.RuoYiFileApplication (可选)
    com.ruoyi.modules.monitor.RuoYiMonitorApplication (可选)
    
  3. 查看启动日志

    启动成功后可以在控制台看到类似日志:

    Started RuoYiGatewayApplication in x.xxx seconds
    

3.8.3 命令行启动

# 进入项目目录
cd RuoYi-Cloud

# 打包
mvn clean package -DskipTests

# 启动网关服务
java -jar ruoyi-gateway/target/ruoyi-gateway.jar --spring.profiles.active=dev

# 启动认证服务
java -jar ruoyi-auth/target/ruoyi-auth.jar --spring.profiles.active=dev

# 启动系统服务
java -jar ruoyi-modules/ruoyi-system/target/ruoyi-modules-system.jar --spring.profiles.active=dev

3.8.4 验证后端服务

  1. 检查Nacos注册

  2. 测试网关

3.9 前端项目启动

3.9.1 安装依赖

# 进入前端目录
cd ruoyi-ui

# 安装依赖
npm install

# 如果安装失败,尝试
npm install --legacy-peer-deps

3.9.2 开发环境配置

编辑 .env.development

# 页面标题
VUE_APP_TITLE = 若依管理系统

# 开发环境配置
ENV = 'development'

# 若依管理系统/开发环境
VUE_APP_BASE_API = '/dev-api'

3.9.3 代理配置

编辑 vue.config.js

module.exports = {
  devServer: {
    host: '0.0.0.0',
    port: 80,
    open: true,
    proxy: {
      [process.env.VUE_APP_BASE_API]: {
        target: 'http://localhost:8080',
        changeOrigin: true,
        pathRewrite: {
          ['^' + process.env.VUE_APP_BASE_API]: ''
        }
      }
    }
  }
}

3.9.4 启动前端

# 开发模式启动
npm run dev

# 生产模式构建
npm run build:prod

3.9.5 访问系统

3.10 常见问题解决

3.10.1 Nacos连接失败

问题:服务启动时提示Nacos连接失败

解决方案

  1. 确认Nacos已启动
  2. 检查配置文件中的Nacos地址
  3. 检查防火墙端口(8848、9848、9849)
# bootstrap.yml
spring:
  cloud:
    nacos:
      discovery:
        server-addr: localhost:8848
      config:
        server-addr: localhost:8848

3.10.2 Redis连接失败

问题:Redis连接超时或拒绝

解决方案

  1. 确认Redis服务已启动
  2. 检查Redis配置(地址、端口、密码)
  3. 检查Redis是否允许远程连接
spring:
  redis:
    host: localhost
    port: 6379
    password: your_password

3.10.3 MySQL连接失败

问题:数据库连接失败

解决方案

  1. 确认MySQL服务已启动
  2. 检查数据库是否存在
  3. 检查用户名密码是否正确
  4. 检查用户权限
-- 授权远程访问
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
FLUSH PRIVILEGES;

3.10.4 前端启动失败

问题:npm install失败

解决方案

# 清除缓存
npm cache clean --force

# 删除node_modules
rm -rf node_modules

# 删除package-lock.json
rm package-lock.json

# 重新安装
npm install --legacy-peer-deps

3.10.5 验证码不显示

问题:登录页面验证码不显示

解决方案

  1. 检查后端服务是否正常
  2. 检查网关路由配置
  3. 检查Redis是否正常
  4. 查看浏览器控制台错误

3.11 小结

本章详细介绍了RuoYi-Cloud的环境准备和安装部署过程,包括:

  1. 开发环境要求:硬件和软件的最低配置
  2. 基础环境安装:JDK、Maven、Node.js、Git
  3. 数据库安装:MySQL和Redis的安装配置
  4. Nacos安装:注册中心和配置中心的部署
  5. 项目导入:源码获取和IDEA导入
  6. 数据库初始化:SQL脚本执行
  7. 服务启动:后端和前端的启动方式
  8. 常见问题:常见错误的解决方案

完成以上步骤后,您就可以成功运行RuoYi-Cloud微服务系统了。下一章我们将深入了解各个微服务模块的详细功能。


上一章:系统架构详解 | 返回目录 | 下一章:微服务模块详解

posted @ 2026-01-08 14:05  我才是银古  阅读(19)  评论(0)    收藏  举报