简介:本文详细阐述RuoYi系统在云服务器上的部署流程,涵盖环境准备、配置优化、安全加固等关键环节,提供可落地的技术方案。
根据RuoYi系统特性,推荐采用2核4G以上配置的云服务器,优先选择具备弹性扩展能力的实例类型。操作系统建议选用CentOS 8或Ubuntu 20.04 LTS,这两个版本对Java生态和Spring Boot框架有最佳兼容性。内存分配方面,需为JVM预留至少2GB空间,建议设置-Xms1024m -Xmx2048m参数。
Java环境配置需安装OpenJDK 11或Oracle JDK 11,通过java -version验证安装。MySQL数据库建议使用5.7+版本,执行以下SQL优化表结构:
CREATE DATABASE ry CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;ALTER TABLE sys_user MODIFY COLUMN password VARCHAR(100) NOT NULL COMMENT '密码';
Redis缓存服务需配置持久化策略,在redis.conf中设置appendonly yes和save 900 1。
通过SSH连接服务器后,执行以下环境初始化命令:
# 安装必要工具yum install -y wget curl unzip# 配置NTP时间同步yum install -y ntpsystemctl enable --now ntpd
从官方渠道获取RuoYi-Vue或RuoYi-Cloud的最新发行包,使用unzip ruoyi-admin.zip -d /opt/ruoyi解压到指定目录。修改application.yml中的数据库连接:
spring:datasource:url: jdbc:mysql://localhost:3306/ry?useSSL=false&serverTimezone=UTCusername: rootpassword: YourStrongPassword
采用Systemd管理服务进程,创建/etc/systemd/system/ruoyi.service文件:
[Unit]Description=RuoYi Admin ServiceAfter=syslog.target network.target[Service]Type=simpleUser=rootWorkingDirectory=/opt/ruoyiExecStart=/usr/bin/java -jar ruoyi-admin.jarRestart=on-failure[Install]WantedBy=multi-user.target
执行systemctl daemon-reload后启动服务,通过journalctl -u ruoyi -f查看实时日志。
JVM参数优化示例:
JAVA_OPTS="-server -Xms2g -Xmx2g -XX:MetaspaceSize=256m -XX:MaxMetaspaceSize=512m"
数据库连接池配置建议:
spring:datasource:hikari:maximum-pool-size: 20minimum-idle: 5connection-timeout: 30000
实施三重防护机制:
iptables -A INPUT -p tcp --dport 8080 -j ACCEPTiptables -A INPUT -p tcp --dport 3306 -j DROP
/etc/ruoyi/secrets目录,设置600权限lynis工具执行系统安全审计关键监控项包括:
Prometheus告警规则示例:
groups:- name: ruoyi.rulesrules:- alert: HighMemoryUsageexpr: (1 - (node_memory_MemAvailable_bytes / node_memory_MemTotal_bytes)) * 100 > 85for: 5mlabels:severity: warningannotations:summary: "内存使用率超过85%"
systemctl status mysqldtelnet localhost 3306iptables -L -ntail -f /var/log/mysqld.logjournalctl -u ruoyi --no-pager -n 100systemctl status redisdf -hsystemctl restart ruoyi推荐采用GitLab CI/CD流水线,配置示例:
stages:- build- deploybuild_job:stage: buildscript:- mvn clean package- scp target/ruoyi-admin.jar root@target-server:/opt/ruoyideploy_job:stage: deployscript:- ssh root@target-server "systemctl restart ruoyi"
将RuoYi拆分为独立服务模块:
Docker Compose配置示例:
version: '3'services:ruoyi-admin:image: openjdk:11-jrevolumes:- ./app:/appcommand: java -jar /app/ruoyi-admin.jarports:- "8080:8080"depends_on:- mysql- redis
通过上述系统化的部署方案,开发者可以高效完成RuoYi系统在云服务器上的部署实施。建议建立完善的运维文档体系,包含架构图、部署手册、应急预案等关键文档,确保系统的长期稳定运行。实际部署过程中,建议先在测试环境验证所有配置,再逐步推广到生产环境。