RuoYi云服务器部署全流程指南:从零到生产环境

作者:4042025.09.26 21:39浏览量:3

简介:本文详细阐述RuoYi系统在云服务器上的部署流程,涵盖环境准备、配置优化、安全加固等关键环节,提供可落地的技术方案。

RuoYi云服务器部署全流程指南:从零到生产环境

一、RuoYi系统部署前的核心准备

1.1 云服务器选型策略

根据RuoYi系统特性,推荐采用2核4G以上配置的云服务器,优先选择具备弹性扩展能力的实例类型。操作系统建议选用CentOS 8或Ubuntu 20.04 LTS,这两个版本对Java生态和Spring Boot框架有最佳兼容性。内存分配方面,需为JVM预留至少2GB空间,建议设置-Xms1024m -Xmx2048m参数。

1.2 依赖环境安装指南

Java环境配置需安装OpenJDK 11或Oracle JDK 11,通过java -version验证安装。MySQL数据库建议使用5.7+版本,执行以下SQL优化表结构:

  1. CREATE DATABASE ry CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
  2. ALTER TABLE sys_user MODIFY COLUMN password VARCHAR(100) NOT NULL COMMENT '密码';

Redis缓存服务需配置持久化策略,在redis.conf中设置appendonly yessave 900 1

二、RuoYi系统部署实施步骤

2.1 基础环境搭建

通过SSH连接服务器后,执行以下环境初始化命令:

  1. # 安装必要工具
  2. yum install -y wget curl unzip
  3. # 配置NTP时间同步
  4. yum install -y ntp
  5. systemctl enable --now ntpd

2.2 部署包处理

从官方渠道获取RuoYi-Vue或RuoYi-Cloud的最新发行包,使用unzip ruoyi-admin.zip -d /opt/ruoyi解压到指定目录。修改application.yml中的数据库连接:

  1. spring:
  2. datasource:
  3. url: jdbc:mysql://localhost:3306/ry?useSSL=false&serverTimezone=UTC
  4. username: root
  5. password: YourStrongPassword

2.3 服务启动优化

采用Systemd管理服务进程,创建/etc/systemd/system/ruoyi.service文件:

  1. [Unit]
  2. Description=RuoYi Admin Service
  3. After=syslog.target network.target
  4. [Service]
  5. Type=simple
  6. User=root
  7. WorkingDirectory=/opt/ruoyi
  8. ExecStart=/usr/bin/java -jar ruoyi-admin.jar
  9. Restart=on-failure
  10. [Install]
  11. WantedBy=multi-user.target

执行systemctl daemon-reload后启动服务,通过journalctl -u ruoyi -f查看实时日志

三、生产环境优化方案

3.1 性能调优策略

JVM参数优化示例:

  1. JAVA_OPTS="-server -Xms2g -Xmx2g -XX:MetaspaceSize=256m -XX:MaxMetaspaceSize=512m"

数据库连接池配置建议:

  1. spring:
  2. datasource:
  3. hikari:
  4. maximum-pool-size: 20
  5. minimum-idle: 5
  6. connection-timeout: 30000

3.2 安全加固措施

实施三重防护机制:

  1. 防火墙规则配置:
    1. iptables -A INPUT -p tcp --dport 8080 -j ACCEPT
    2. iptables -A INPUT -p tcp --dport 3306 -j DROP
  2. 密钥管理方案:将数据库密码等敏感信息存储在/etc/ruoyi/secrets目录,设置600权限
  3. 定期安全扫描:使用lynis工具执行系统安全审计

四、运维监控体系构建

4.1 监控指标设计

关键监控项包括:

  • JVM内存使用率(Heap/Non-Heap)
  • 数据库连接数(Active/Idle)
  • 接口响应时间(P90/P99)
  • 系统负载(1min/5min/15min)

4.2 告警规则配置

Prometheus告警规则示例:

  1. groups:
  2. - name: ruoyi.rules
  3. rules:
  4. - alert: HighMemoryUsage
  5. expr: (1 - (node_memory_MemAvailable_bytes / node_memory_MemTotal_bytes)) * 100 > 85
  6. for: 5m
  7. labels:
  8. severity: warning
  9. annotations:
  10. summary: "内存使用率超过85%"

五、常见问题解决方案

5.1 数据库连接失败排查

  1. 检查MySQL服务状态:systemctl status mysqld
  2. 验证网络连通性:telnet localhost 3306
  3. 检查防火墙规则:iptables -L -n
  4. 查看MySQL错误日志:tail -f /var/log/mysqld.log

5.2 接口500错误处理

  1. 检查应用日志:journalctl -u ruoyi --no-pager -n 100
  2. 验证依赖服务状态:systemctl status redis
  3. 检查磁盘空间:df -h
  4. 重启服务测试:systemctl restart ruoyi

六、持续集成部署方案

推荐采用GitLab CI/CD流水线,配置示例:

  1. stages:
  2. - build
  3. - deploy
  4. build_job:
  5. stage: build
  6. script:
  7. - mvn clean package
  8. - scp target/ruoyi-admin.jar root@target-server:/opt/ruoyi
  9. deploy_job:
  10. stage: deploy
  11. script:
  12. - ssh root@target-server "systemctl restart ruoyi"

七、扩展性设计建议

7.1 微服务架构改造

将RuoYi拆分为独立服务模块:

  • 认证服务(ruoyi-auth)
  • 系统管理服务(ruoyi-system)
  • 代码生成服务(ruoyi-gen)
  • 文件存储服务(ruoyi-file)

7.2 容器化部署方案

Docker Compose配置示例:

  1. version: '3'
  2. services:
  3. ruoyi-admin:
  4. image: openjdk:11-jre
  5. volumes:
  6. - ./app:/app
  7. command: java -jar /app/ruoyi-admin.jar
  8. ports:
  9. - "8080:8080"
  10. depends_on:
  11. - mysql
  12. - redis

通过上述系统化的部署方案,开发者可以高效完成RuoYi系统在云服务器上的部署实施。建议建立完善的运维文档体系,包含架构图、部署手册、应急预案等关键文档,确保系统的长期稳定运行。实际部署过程中,建议先在测试环境验证所有配置,再逐步推广到生产环境。