RuoYi云服务器部署全流程指南:从环境搭建到运维优化
2025.09.26 21:39浏览量:2简介:本文详细解析RuoYi系统在云服务器上的部署流程,涵盖环境配置、安全加固、性能调优等关键环节,为开发者提供标准化操作指南。
一、RuoYi系统与云服务器部署的适配性分析
RuoYi作为基于Spring Boot+Vue的快速开发框架,其模块化架构与云原生特性形成天然契合。云服务器提供的弹性计算资源(如ECS实例)、对象存储服务(OSS)和负载均衡(SLB)能力,能有效解决传统物理机部署中资源利用率低、扩展性差等问题。
技术层面,RuoYi的微服务架构可拆分为用户管理、权限控制、代码生成等独立模块,与Kubernetes容器编排形成技术互补。例如在阿里云ACK集群中,可通过Deployment资源定义实现模块级水平扩展,结合HPA(水平自动扩缩)策略应对突发流量。
经济性方面,云服务器的按需付费模式相比自建IDC可降低30%-50%成本。以RuoYi标准版为例,2核4G配置的ECS实例(突发性能型t6)月费用约80元,配合RDS MySQL实例(基础版20GB)月费用65元,整体年运营成本可控制在2000元以内。
二、云服务器环境准备与优化
1. 基础环境配置
选择CentOS 7.6/8.2或Ubuntu 20.04 LTS系统镜像,推荐使用阿里云市场提供的LAMP/LNMP优化镜像。关键配置项包括:
# 修改文件描述符限制echo "* soft nofile 65535" >> /etc/security/limits.confecho "* hard nofile 65535" >> /etc/security/limits.conf# 调整内核参数echo "net.core.somaxconn = 65535" >> /etc/sysctl.confecho "net.ipv4.tcp_max_syn_backlog = 65535" >> /etc/sysctl.confsysctl -p
2. 数据库部署方案
针对RuoYi的MySQL依赖,推荐采用主从复制架构:
- 主库配置:设置
innodb_buffer_pool_size=4G(占内存70%) - 从库配置:启用
read_only=1参数 - 连接池优化:在application.yml中配置:
spring:datasource:druid:initial-size: 5max-active: 50min-idle: 5validation-query: SELECT 1
3. 存储方案选择
- 日志存储:使用云盘(ESSD PL1)挂载至
/var/log/ruoyi目录 附件存储:配置OSS Bucket,通过SDK实现文件上传:
// OSS上传示例public String uploadFile(MultipartFile file) {String endpoint = "oss-cn-hangzhou.aliyuncs.com";String accessKeyId = "your-access-key";String accessKeySecret = "your-secret-key";OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);String objectKey = "uploads/" + UUID.randomUUID() + file.getOriginalFilename();ossClient.putObject("your-bucket", objectKey, new ByteArrayInputStream(file.getBytes()));return objectKey;}
三、RuoYi系统部署实施
1. 代码部署流程
- Git仓库配置:在云服务器创建裸仓库,设置post-receive钩子自动部署
```bash!/bin/bash
TARGET_DIR=”/opt/ruoyi”
GIT_DIR=”/opt/repo/ruoyi.git”
while read oldrev newrev ref
do
if [[ $ref =~ refs/heads/master ]];
then
echo “Ref $ref received. Deploying master branch to production…”
git —work-tree=$TARGET_DIR —git-dir=$GIT_DIR checkout -f master
cd $TARGET_DIR
mvn clean package
systemctl restart ruoyi
else
echo “Ref $ref received. Doing nothing: only the master branch may be deployed on this server.”
fi
done
2. **构建优化**:使用Maven多模块构建,配置`-DskipTests`跳过测试:```bashmvn clean package -pl ruoyi-admin -am -DskipTests
2. 容器化部署方案
对于Kubernetes环境,需准备:
- Dockerfile优化:采用多阶段构建减少镜像体积
```dockerfile
FROM maven:3.8.4-jdk-11 AS build
WORKDIR /app
COPY . .
RUN mvn clean package -DskipTests
FROM openjdk:11-jre-slim
WORKDIR /app
COPY —from=build /app/ruoyi-admin/target/ruoyi-admin.jar .
EXPOSE 8080
ENTRYPOINT [“java”, “-jar”, “ruoyi-admin.jar”]
- Deployment配置示例:```yamlapiVersion: apps/v1kind: Deploymentmetadata:name: ruoyi-adminspec:replicas: 2selector:matchLabels:app: ruoyi-admintemplate:metadata:labels:app: ruoyi-adminspec:containers:- name: ruoyiimage: registry.cn-hangzhou.aliyuncs.com/your-repo/ruoyi-admin:v1.0resources:limits:memory: "1Gi"cpu: "500m"ports:- containerPort: 8080
四、运维监控与性能调优
1. 监控体系构建
Prometheus+Grafana监控方案:
- 配置JMX Exporter采集JVM指标
- 自定义Nginx指标采集:
location /metrics {stub_status on;access_log off;allow 127.0.0.1;deny all;}
阿里云ARMS监控集成:通过SDK上报自定义业务指标
2. 性能优化实践
JVM调优:
JAVA_OPTS="-Xms512m -Xmx1024m -XX:MetaspaceSize=256m -XX:MaxMetaspaceSize=512m \-XX:+UseG1GC -XX:G1HeapRegionSize=16m \-XX:InitiatingHeapOccupancyPercent=35"
缓存策略优化:
- Redis配置:设置
maxmemory-policy=allkeys-lru - 本地缓存:使用Caffeine替代Guava Cache
3. 安全加固方案
网络隔离:
- 配置安全组规则,仅开放80/443/22端口
- 使用VPC私有网络,子网间通过CLB互通
数据加密:
- 启用TLS 1.2+,禁用弱密码套件
- 数据库连接配置SSL:
spring:datasource:url: jdbc
//rm-bp1234567890abcde.mysql.rds.aliyuncs.com:3306/ry?useSSL=true&requireSSL=true
五、常见问题解决方案
文件上传失败:
- 检查Nginx配置
client_max_body_size参数 - 验证OSS Bucket权限策略
- 检查Nginx配置
定时任务不执行:
- 检查
@Scheduled注解配置 - 验证Spring Boot Actuator端点
/actuator/scheduledtasks
- 检查
跨域问题:
- 前端配置
axios.defaults.baseURL - 后端添加CORS配置:
@Configurationpublic class CorsConfig implements WebMvcConfigurer {@Overridepublic void addCorsMappings(CorsRegistry registry) {registry.addMapping("/**").allowedOriginPatterns("*").allowedMethods("GET", "POST", "PUT", "DELETE", "OPTIONS").allowedHeaders("*").allowCredentials(true).maxAge(3600);}}
- 前端配置
通过上述标准化部署方案,开发者可在云服务器环境快速构建稳定高效的RuoYi系统。实际部署中需根据业务规模动态调整资源配置,建议初期采用2核4G+10GB云盘配置,日均访问量超过5000时升级至4核8G实例。定期进行压力测试(建议使用JMeter模拟200并发用户),持续优化系统性能。

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