跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客我的书AI学习GitHub 精选镜像AI 生图工具UI配色美学关于
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
JavaSaaSAI大前端java

RuoYi Office 开源 OA、HRM、CRM、ERP 一体化系统部署指南

基于 RuoYi Office 开源系统的企业级 OA、HRM、CRM、ERP 一体化管理平台部署流程。涵盖云服务器选购、基础环境(JDK、MySQL、Redis、Nginx)安装、数据库初始化、前后端构建与上传、Nginx 配置及服务启动等关键步骤。通过优化内存参数和配置域名 HTTPS,实现低成本、高可用的私有化部署方案,适用于中小企业数字化办公场景。系统采用 Spring Boot 3.5、Vue 3.5、Flowable 等工作流引擎,支持多租户与 SaaS 模式。

草莓泡芙发布于 2026/3/30更新于 2026/9/974 浏览
RuoYi Office 开源 OA、HRM、CRM、ERP 一体化系统部署指南

一、系统概述

本文介绍一套包含 OA、HRM、CRM、ERP 等 14 大模块的一体化企业管理平台部署流程。该系统基于开源协议,支持私有化部署,适用于中小企业数字化办公场景。

1.1 方案对比

方案OA 协同办公HRM 人力资源CRM 客户管理ERP 进销存年度总成本
多套 SaaS 拼凑¥5,000+/年¥8,000+/年¥10,000+/年¥15,000+/年¥38,000+
钉钉/飞书高级版✅⚠️ 基础❌ 需第三方❌ 需第三方¥10,000~50,000
找外包定制开发✅✅✅✅¥100,000~500,000(一次性)
开源系统 + 云服务器✅✅✅✅低成本

通过合理的服务器配置与优化,可实现低成本运行。

1.2 推荐配置

对于 RuoYi Office 的部署,建议如下:

对比项入门配置 (2 核 2G)推荐配置 (2 核 4G)
JDK + 后端服务✅ 可运行(需优化 JVM 参数)✅ 运行流畅
MySQL✅ 可运行✅ 运行流畅
Redis✅ 可运行✅ 运行流畅
Nginx + 前端✅ 可运行✅ 运行流畅
同时在线用户10~30 人30~100 人
综合评价够用,适合小团队起步余量充足,推荐

💡 建议:如果预算允许,2 核 4G 方案是性价比最高的选择——内存翻倍、带宽提升、磁盘增加。

二、服务器选购与连接

2.1 安全组配置

购买完成后,务必在安全组中配置端口放行规则:

端口用途是否必须
22SSH 远程连接✅
80HTTP 访问(Nginx)✅
443
HTTPS 访问
按需
3306MySQL(建议仅内网)⚠️ 不建议公网开放
2.2 远程连接

使用阿里云 Workbench 或本地 SSH 客户端登录服务器。

ssh root@你的服务器公网IP

常用 SSH 工具:Tabby、FinalShell、MobaXterm、PuTTY。

三、安装基础环境

以下命令以 CentOS 7 为例。如使用 Ubuntu,将 yum 替换为 apt。

3.1 安装 JDK
yum install -y java-21-openjdk java-21-openjdk-devel
java -version
3.2 安装 MySQL
# 安装 MySQL 官方源
rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-7.noarch.rpm
# 安装 MySQL Server
yum install -y mysql-community-server
# 启动并设置开机自启
systemctl start mysqld && systemctl enable mysqld
# 获取临时密码
grep 'temporary password' /var/log/mysqld.log
# 安全初始化(修改 root 密码)
mysql_secure_installation
3.3 安装 Redis
yum install -y epel-release && yum install -y redis
systemctl start redis && systemctl enable redis
redis-cli ping
# 返回 PONG
3.4 安装 Nginx
yum install -y nginx
systemctl start nginx && systemctl enable nginx
curl -I http://127.0.0.1
# 返回 200
3.5 环境检查清单

全部安装完成后,逐一确认:

java -version
mysql -V
redis-cli ping
nginx -v

💡 内存优化提示(2G 方案专用):2G 内存需要精细分配,同时建议调低 MySQL 内存占用。修改后重启 MySQL:systemctl restart mysqld

四、初始化数据库

4.1 创建数据库
mysql -u root -p
CREATE DATABASE IF NOT EXISTS `ruoyi-office` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
4.2 导入数据

将数据库 SQL 文件上传到服务器后执行:

mysql -u root -p ruoyi-office < /data/ruoyi-office-20260301.sql
4.3 验证
mysql -u root -p -e "USE \`ruoyi-office\`; SHOW TABLES;" | head -20
# 能看到 system_users、system_role 等表即成功

五、部署 RuoYi Office

⚠️ 重要原则:不要在服务器上编译构建!请在本地开发机上完成构建,仅将产物上传到服务器。

5.1 本地构建后端
cd ~/workspace/ruoyi-office
mvn clean package -Dmaven.test.skip=true -Dskip.repackage=true -pl yudao-server -am -Pprod
# 产物:yudao-server/target/yudao-server.jar
5.2 本地构建前端
cd ~/workspace/ruoyi-office-vben
pnpm install
pnpm -r --filter "./packages/**" --filter "./internal/**" build
cd apps/web-antd && pnpm build
# 产物:apps/web-antd/dist/
5.3 上传产物到服务器
# 上传后端 JAR
scp yudao-server/target/yudao-server.jar root@服务器 IP:/data/app/
# 上传前端产物
scp -r apps/web-antd/dist/* root@服务器 IP:/usr/share/nginx/html/web/
# 上传数据库 SQL(首次部署时需要)
scp ruoyi-office-db/ruoyi-office-20260301.sql root@服务器 IP:/data/
5.4 启动后端服务

在服务器上执行:

mkdir -p /data/app
# 99 元方案(2G 内存)使用以下 JVM 参数
nohup java -Xms256m -Xmx512m \
-DMYSQL_URL="jdbc:mysql://127.0.0.1:3306/ruoyi-office?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true&rewriteBatchedStatements=true" \
-DMYSQL_USERNAME=root \
-DMYSQL_PASSWORD='你的数据库密码' \
-DREDIS_HOST=127.0.0.1 \
-DREDIS_PORT=6379 \
-DREDIS_PASSWORD='' \
-jar /data/app/yudao-server.jar \
--spring.profiles.active=prod > /data/app/nohup.out 2>&1 &

等待 60~90 秒后验证:

curl http://127.0.0.1:48080/actuator/health
# 返回 {"status":"UP"} 即启动成功
5.5 配置 Nginx

创建 /etc/nginx/conf.d/ruoyi-office.conf:

server {
    listen 80;
    server_name _;
    charset utf-8;
    # Gzip 压缩(小带宽服务器必开,显著提升加载速度)
    gzip on;
    gzip_vary on;
    gzip_min_length 1024;
    gzip_comp_level 6;
    gzip_types text/plain text/css text/xml text/javascript application/json application/javascript application/xml+rss application/x-javascript image/svg+xml;
    # 前端静态文件
    location /web {
        alias /usr/share/nginx/html/web;
        index index.html;
        try_files $uri $uri/ /web/index.html;
    }
    # 静态资源长缓存
    location ~* ^/web/(.+).(js|css|png|jpg|jpeg|gif|ico|svg|woff|woff2|ttf|eot)$ {
        root /usr/share/nginx/html;
        expires 30d;
        add_header Cache-Control "public, immutable";
        access_log off;
    }
    # 后端 API 反向代理
    location /admin-api {
        proxy_pass http://127.0.0.1:48080/admin-api;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_connect_timeout 60s;
        proxy_send_timeout 60s;
        proxy_read_timeout 60s;
    }
    # 根路径跳转
    location = / {
        return 302 /web;
    }
}
# 删除默认配置(避免端口冲突)
rm -f /etc/nginx/conf.d/default.conf
# 检测配置并重载
nginx -t && nginx -s reload
5.6 访问系统

浏览器访问 http://你的服务器公网 IP/web,看到登录页即成功。

账号密码
adminadmin123

⚠️ 首次登录后请立即修改默认密码!

六、核心功能模块

系统包含 14 大核心模块,涵盖企业运营全流程:

#模块核心功能
1OA 协同办公用车、印章、会议室、企业云盘、日程
2流程中心 (BPM)仿钉钉/飞书流程设计器 + BPMN 设计器
3HRM 人力资源组织架构、员工档案、入转调离全流程
4CRM 客户管理线索→客户→商机→合同→回款
5ERP 进销存采购、销售、库存、产品、财务
6资产管理 (EAM)资产全生命周期管理
7仓库管理 (WMS)仓库、入出库、库存盘点
8AI 大模型对话、写作、知识库、思维导图
9商城系统商品、订单、营销、售后
10支付中心多渠道支付聚合

七、技术架构

你得到的不是玩具级项目,而是基于主流企业级技术栈构建的生产级系统:

层次技术选型说明
后端框架Spring Boot 3.5 + Spring Cloud AlibabaJava 生态事实标准
工作流Flowable 7.0仿钉钉/飞书审批设计器
前端Vue 3.5 + Vben Admin + Ant Design Vue企业级前端方案
数据库MySQL 8.0兼容 PostgreSQL/达梦/金仓
缓存Redis + Redisson高性能缓存与分布式锁
权限Spring Security + OAuth 2.0菜单 + 按钮 + 数据三层权限
多租户内置 SaaS 支持一套系统服务多家企业

八、进阶优化建议

系统跑起来之后,你还可以做这些优化来提升体验:

8.1 配置域名 + HTTPS

花几十元注册一个域名,配合免费的 Let's Encrypt 证书,让系统从 http://IP 升级为 https://oa.yourcompany.com,更专业、更安全。

8.2 定时备份
# 创建备份脚本
cat > /data/backup.sh <<'EOF'
#!/bin/bash
DATE=$(date +%Y%m%d)
mysqldump -u root -p'你的密码' ruoyi-office | gzip > /data/backup/ruoyi-office-$DATE.sql.gz
find /data/backup -mtime +7 -delete
EOF
chmod +x /data/backup.sh
# 设置每天凌晨 3 点自动备份
echo "0 3 * * * /data/backup.sh" | crontab -
8.3 使用 systemd 托管服务

将后端服务注册为系统服务,实现开机自启和崩溃自动恢复:

# /etc/systemd/system/yudao-server.service
[Unit]
Description=YuDao Server
After=network.target mysqld.service redis.service

[Service]
Type=simple
User=root
WorkingDirectory=/data/app
Environment="MYSQL_URL=jdbc:mysql://127.0.0.1:3306/ruoyi-office?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true&rewriteBatchedStatements=true"
Environment="MYSQL_USERNAME=root"
Environment="MYSQL_PASSWORD=你的数据库密码"
Environment="REDIS_HOST=127.0.0.1"
Environment="REDIS_PORT=6379"
Environment="REDIS_PASSWORD="
ExecStart=/usr/bin/java -Xms256m -Xmx512m -jar /data/app/yudao-server.jar --spring.profiles.active=prod
Restart=on-failure
RestartSec=10

[Install]
WantedBy=multi-user.target
systemctl daemon-reload
systemctl enable yudao-server
systemctl start yudao-server
8.4 后续升级

RuoYi Office 持续迭代更新,升级也很简单:

# 本地重新构建 → 上传新 JAR → 重启服务
systemctl stop yudao-server
# 上传新的 yudao-server.jar 到 /data/app/
systemctl start yudao-server

九、常见问题

Q1:2G 内存真的够用吗?

够用。通过本文的内存优化配置(Swap 分区 + MySQL 调优 + JVM 参数),2G 内存可以稳定运行 RuoYi Office 单体模式。实测 10~30 人同时在线无压力。如果团队规模增长,随时可以升级配置。

Q2:3M 带宽会不会很慢?

配合 Nginx 的 Gzip 压缩和静态资源缓存,首次加载约 3~5 秒,后续访问由浏览器缓存加速,体验流畅。系统以 API 请求为主,数据量小,3M 带宽完全够用。

Q3:后端启动后立即退出?

查看日志排查原因:

tail -100 /data/app/nohup.out

常见原因:①数据库连接失败(检查密码和端口)②内存不足(检查 JVM 参数是否过大)③端口被占用。

Q4:前端访问返回 404?
  1. 确认文件存在:ls /usr/share/nginx/html/web/index.html
  2. 确认已删除 default.conf
  3. 重载 Nginx:nginx -t && nginx -s reload

十、总结

企业数字化不一定要花大钱。RuoYi Office 用开源的方式将企业管理系统的门槛降到了几乎为零,而云服务器提供了稳定可靠的运行环境。开源 + 自建,这就是中小企业数字化的可行解。

你投入的你得到的
低成本/年一台云服务器,续费同价
免费(MIT 开源)OA + BPM + HRM + CRM + ERP + AI 等 14 大模块
约 30 分钟(跟着本教程操作)一套可投产使用的企业管理一体化系统
一个下午(熟悉系统功能)全公司的数字化办公基础设施

目录

  1. 一、系统概述
  2. 1.1 方案对比
  3. 1.2 推荐配置
  4. 二、服务器选购与连接
  5. 2.1 安全组配置
  6. 2.2 远程连接
  7. 三、安装基础环境
  8. 3.1 安装 JDK
  9. 3.2 安装 MySQL
  10. 安装 MySQL 官方源
  11. 安装 MySQL Server
  12. 启动并设置开机自启
  13. 获取临时密码
  14. 安全初始化(修改 root 密码)
  15. 3.3 安装 Redis
  16. 返回 PONG
  17. 3.4 安装 Nginx
  18. 返回 200
  19. 3.5 环境检查清单
  20. 四、初始化数据库
  21. 4.1 创建数据库
  22. 4.2 导入数据
  23. 4.3 验证
  24. 能看到 systemusers、systemrole 等表即成功
  25. 五、部署 RuoYi Office
  26. 5.1 本地构建后端
  27. 产物:yudao-server/target/yudao-server.jar
  28. 5.2 本地构建前端
  29. 产物:apps/web-antd/dist/
  30. 5.3 上传产物到服务器
  31. 上传后端 JAR
  32. 上传前端产物
  33. 上传数据库 SQL(首次部署时需要)
  34. 5.4 启动后端服务
  35. 99 元方案(2G 内存)使用以下 JVM 参数
  36. 返回 {"status":"UP"} 即启动成功
  37. 5.5 配置 Nginx
  38. 删除默认配置(避免端口冲突)
  39. 检测配置并重载
  40. 5.6 访问系统
  41. 六、核心功能模块
  42. 七、技术架构
  43. 八、进阶优化建议
  44. 8.1 配置域名 + HTTPS
  45. 8.2 定时备份
  46. 创建备份脚本
  47. 设置每天凌晨 3 点自动备份
  48. 8.3 使用 systemd 托管服务
  49. /etc/systemd/system/yudao-server.service
  50. 8.4 后续升级
  51. 本地重新构建 → 上传新 JAR → 重启服务
  52. 上传新的 yudao-server.jar 到 /data/app/
  53. 九、常见问题
  54. Q1:2G 内存真的够用吗?
  55. Q2:3M 带宽会不会很慢?
  56. Q3:后端启动后立即退出?
  57. Q4:前端访问返回 404?
  58. 十、总结

更多推荐文章

查看全部
  • 腾讯云轻量应用服务器部署 OpenClaw 接入 QQ 飞书指南
  • 利用 GPT4 和 DALL·E 制作 AI 绘画短视频指南
  • 小皮面板 MySQL 启动后立即停止的解决方案
  • Java JDK 安装与环境配置教程(Windows + macOS 通用)
  • Html5-QRCode 前端二维码扫描库集成指南
  • 本地部署 Kimi K2 模型:llama.cpp、vLLM 与 Docker 方案
  • AI 小白的大模型学习路径与核心概念解析
  • AIGC 核心技术解析:GPT、BERT 与 Transformer 模型原理
  • MCP Document Converter:让 AI 助手支持 25 种文档格式转换
  • SpringBoot 整合 LangChain4j 与 Tavily 实现联网搜索及 API Key 获取
  • 10 款主流 Linux 发行版盘点与选型指南
  • 提升 AI 生成前端 UI 设计感的三个关键技巧
  • Python Flask RESTful API 开发指南与项目结构模板
  • Socket 网络编程实战:C# 服务端与客户端通信实现
  • OpenClaw 国内 AI 大模型配置教程
  • VISSIM 与 Web 交互方式
  • Git-AI:追踪 AI 生成代码的 Git 扩展工具
  • 发那科机器人与西门子 PLC 通讯全方案:网关与 Modbus TCP 双版本配置及代码
  • SpringBoot 整合 DL4J 构建智能写作助手
  • 用 AI 生成个性化头像 + 作品集!2026 AI 图像风格迁移全攻略

相关免费在线工具

  • Keycode 信息

    查找任何按下的键的javascript键代码、代码、位置和修饰符。 在线工具,Keycode 信息在线工具,online

  • Escape 与 Native 编解码

    JavaScript 字符串转义/反转义;Java 风格 \uXXXX(Native2Ascii)编码与解码。 在线工具,Escape 与 Native 编解码在线工具,online

  • JavaScript / HTML 格式化

    使用 Prettier 在浏览器内格式化 JavaScript 或 HTML 片段。 在线工具,JavaScript / HTML 格式化在线工具,online

  • JavaScript 压缩与混淆

    Terser 压缩、变量名混淆,或 javascript-obfuscator 高强度混淆(体积会增大)。 在线工具,JavaScript 压缩与混淆在线工具,online

  • RSA密钥对生成器

    生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online

  • Mermaid 预览与可视化编辑

    基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online