RuoYi云服务器部署全攻略:从环境搭建到系统优化
2025.09.26 21:39浏览量:0简介:本文详细解析RuoYi系统在云服务器上的部署流程,涵盖环境准备、安全配置、性能调优等关键环节,提供可落地的技术指导。
一、RuoYi系统部署前的核心准备
1.1 云服务器选型策略
针对RuoYi系统特性,建议选择计算型实例(如阿里云ecs.c6或腾讯云S5),其2核4G配置可满足中小型业务需求。需重点验证:
- 操作系统兼容性:优先选用CentOS 7/8或Ubuntu 20.04 LTS
- 磁盘空间规划:系统盘建议50GB以上,数据盘按业务增长预留
- 网络带宽配置:初期1-2Mbps足够,后期根据并发量动态调整
1.2 基础环境依赖矩阵
| 组件 | 版本要求 | 部署方式 | 验证命令 |
|---|---|---|---|
| JDK | 1.8+ | 手动安装/yum安装 | java -version |
| MySQL | 5.7/8.0 | 独立实例/Docker | mysql --version |
| Redis | 5.0+ | 集群模式 | redis-cli ping |
| Nginx | 1.18+ | 编译安装 | nginx -v |
典型环境配置示例(Ubuntu 20.04):
# JDK安装sudo apt updatesudo apt install openjdk-8-jdk -yecho "export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64" >> ~/.bashrc# MySQL安装sudo apt install mysql-server-8.0 -ysudo systemctl start mysql
二、RuoYi系统部署实施流程
2.1 数据库初始化阶段
- 执行SQL脚本:
```sql
— 创建数据库(UTF8MB4编码)
CREATE DATABASE ruoyi CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
— 导入基础表结构
source /path/to/ruoyi.sql;
2. 配置连接池参数(application.yml):```yamlspring:datasource:url: jdbc:mysql://localhost:3306/ruoyi?useSSL=false&serverTimezone=UTCusername: rootpassword: YourPasswordhikari:maximum-pool-size: 20connection-timeout: 30000
2.2 应用部署技术方案
方案A:Jar包部署(推荐测试环境)
# 编译打包mvn clean package -Dmaven.test.skip=true# 后台运行nohup java -jar ruoyi-admin.jar --spring.profiles.active=prod > ruoyi.log 2>&1 &
方案B:Docker容器化部署(生产环境优选)
# Dockerfile示例FROM openjdk:8-jreVOLUME /tmpARG JAR_FILE=target/*.jarCOPY ${JAR_FILE} app.jarENTRYPOINT ["java","-jar","/app.jar"]
构建与运行命令:
docker build -t ruoyi-admin .docker run -d -p 8080:8080 --name ruoyi ruoyi-admin
2.3 Nginx反向代理配置
关键配置片段(nginx.conf):
server {listen 80;server_name yourdomain.com;location / {proxy_pass http://127.0.0.1:8080;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;}# 静态资源缓存location ~* \.(jpg|jpeg|png|gif|ico|css|js)$ {expires 30d;access_log off;}}
三、生产环境优化实践
3.1 性能调优策略
JVM参数优化:
# 初始堆内存设为物理内存的1/4JAVA_OPTS="-Xms1024m -Xmx1024m -XX:MetaspaceSize=256m"
MySQL连接池配置:
# application.yml增强配置spring:datasource:hikari:connection-test-query: SELECT 1idle-timeout: 600000max-lifetime: 1800000
3.2 安全加固方案
防火墙规则配置:
# 仅开放必要端口sudo ufw allow 22/tcp # SSHsudo ufw allow 80/tcp # HTTPsudo ufw allow 443/tcp # HTTPSsudo ufw enable
数据库安全设置:
```sql
— 创建专用用户
CREATE USER ‘ruoyi’@’%’ IDENTIFIED BY ‘SecurePassword123!’;
GRANT ALL PRIVILEGES ON ruoyi.* TO ‘ruoyi’@’%’;
FLUSH PRIVILEGES;
— 禁用root远程登录
DELETE FROM mysql.user WHERE User=’root’ AND Host NOT IN (‘localhost’, ‘127.0.0.1’, ‘::1’);
## 3.3 监控告警体系1. Prometheus监控配置:```yaml# application.yml集成management:endpoints:web:exposure:include: prometheusmetrics:export:prometheus:enabled: true
- 关键监控指标:
- JVM内存使用率
- 数据库连接数
- 请求响应时间(P99)
- 线程池活跃线程数
四、故障排查指南
4.1 常见问题处理
强制终止进程
sudo kill -9 PID
2. **数据库连接失败**:- 检查`max_connections`参数(建议设置500+)- 验证网络连通性:`telnet mysql_host 3306`- 查看MySQL错误日志:`tail -f /var/log/mysql/error.log`## 4.2 日志分析技巧1. 关键日志路径:- 应用日志:`/var/log/ruoyi/app.log`- Nginx日志:`/var/log/nginx/access.log`- 系统日志:`/var/log/syslog`2. 日志分析命令:```bash# 实时查看错误日志tail -f /path/to/ruoyi.log | grep -i "error\|exception"# 统计高频错误cat ruoyi.log | awk '{print $5}' | sort | uniq -c | sort -nr | head -10
五、持续集成与部署
5.1 Jenkins自动化流水线
典型Jenkinsfile示例:
pipeline {agent anystages {stage('Checkout') {steps {git branch: 'main', url: 'https://github.com/your/ruoyi.git'}}stage('Build') {steps {sh 'mvn clean package -Dmaven.test.skip=true'}}stage('Deploy') {steps {sshagent(['deploy-key']) {sh 'scp target/ruoyi-admin.jar user@server:/opt/ruoyi/'sh 'ssh user@server "systemctl restart ruoyi"'}}}}}
5.2 蓝绿部署实施
部署架构:
┌─────────────┐ ┌─────────────┐│ Blue环境 │ │ Green环境 ││ (运行中) │◀───▶│ (待切换) │└─────────────┘ └─────────────┘▲│负载均衡器
切换脚本示例:
#!/bin/bash# 检查Green环境健康状态if curl -sI http://green-server:8080/actuator/health | grep -q "UP"; then# 修改Nginx配置指向Green环境sed -i 's/blue-server/green-server/g' /etc/nginx/conf.d/ruoyi.confsystemctl reload nginxelseecho "Green环境健康检查失败"exit 1fi
六、进阶优化建议
- 读写分离:配置MySQL主从复制,应用层通过ShardingSphere实现自动路由
- 缓存策略:
- 热点数据缓存:设置TTL=5分钟
- 缓存穿透防护:空值缓存+布隆过滤器
- 异地多活:基于RuoYi的模块化设计,实现城市级故障自动切换
通过系统化的部署方案和持续优化策略,RuoYi系统可在云服务器上实现高可用、高性能的企业级部署。建议每季度进行一次完整的性能基准测试,根据业务增长曲线动态调整资源配置。

发表评论
登录后可评论,请前往 登录 或 注册