RuoYi云服务器部署全攻略:从零到稳定运行的实践指南
2025.09.26 21:40浏览量:2简介:本文详细解析RuoYi系统在云服务器上的部署流程,涵盖环境配置、依赖安装、安全优化等关键环节,提供可落地的技术方案与故障排查指南。
一、RuoYi系统部署前的技术准备
1.1 云服务器选型策略
针对RuoYi系统的技术特性,建议选择配置不低于2核4G的云服务器实例。以阿里云ECS为例,Ubuntu 20.04 LTS或CentOS 8.5系统版本可提供最佳兼容性。需特别注意:
- 存储空间:预留至少40GB系统盘+20GB数据盘
- 网络配置:开放80/443(Web服务)、22(SSH)、3306(MySQL)等关键端口
- 带宽选择:根据并发用户数预估,建议初期选择3-5Mbps弹性带宽
1.2 基础环境搭建
Java环境配置:
# 安装OpenJDK 11sudo apt updatesudo apt install openjdk-11-jdk -y# 验证安装java -version# 设置JAVA_HOME环境变量echo 'export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64' >> ~/.bashrcsource ~/.bashrc
MySQL数据库部署:
-- 创建数据库专用用户CREATE USER 'ruoyi'@'%' IDENTIFIED BY 'SecurePassword123!';GRANT ALL PRIVILEGES ON ruoyi_db.* TO 'ruoyi'@'%';FLUSH PRIVILEGES;-- 创建数据库(字符集建议utf8mb4)CREATE DATABASE ruoyi_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
二、RuoYi系统部署实施
2.1 源代码获取与编译
# 克隆官方仓库git clone https://gitee.com/y_project/RuoYi-Vue.gitcd RuoYi-Vue# Maven依赖安装(建议使用阿里云镜像)vim pom.xml# 在<mirrors>标签下添加:<mirror><id>aliyunmaven</id><mirrorOf>*</mirrorOf><name>阿里云公共仓库</name><url>https://maven.aliyun.com/repository/public</url></mirror># 执行编译打包mvn clean package -Dmaven.test.skip=true
2.2 应用部署配置
后端服务配置:
修改ruoyi-admin/src/main/resources/application.yml:
spring:datasource:url: jdbc:mysql://localhost:3306/ruoyi_db?useSSL=false&serverTimezone=UTCusername: ruoyipassword: SecurePassword123!redis:host: 127.0.0.1port: 6379
前端部署方案:
# 进入前端目录cd ruoyi-ui# 安装node依赖(建议使用nvm管理node版本)nvm use 14.17.0npm install --registry=https://registry.npmmirror.com# 构建生产环境npm run build:prod# 将生成的dist目录内容上传至Nginx静态资源目录
三、云服务器环境优化
3.1 性能调优策略
JVM参数优化:
在ruoyi-admin/src/main/resources/bootstrap.yml中添加:
server:tomcat:max-threads: 200accept-count: 1000spring:servlet:multipart:max-file-size: 50MBmax-request-size: 100MB
MySQL性能优化:
-- 调整缓冲池大小(建议为物理内存的50-70%)SET GLOBAL innodb_buffer_pool_size=2147483648; -- 2GB-- 优化查询缓存SET GLOBAL query_cache_size=67108864; -- 64MBSET GLOBAL query_cache_type=1;
3.2 安全加固方案
防火墙配置:
# 使用ufw简化管理(Ubuntu)sudo ufw allow 22/tcpsudo ufw allow 80/tcpsudo ufw allow 443/tcpsudo ufw enable# CentOS使用firewalldsudo firewall-cmd --permanent --add-port={22,80,443}/tcpsudo firewall-cmd --reload
SSH安全增强:
# 修改默认SSH端口sudo vim /etc/ssh/sshd_configPort 2222# 禁用root登录PermitRootLogin no# 重启服务sudo systemctl restart sshd
四、运维监控体系构建
4.1 基础监控方案
Prometheus+Grafana监控:
# 在prometheus.yml中添加Job- job_name: 'ruoyi'static_configs:- targets: ['localhost:8080']labels:instance: 'ruoyi-admin'
日志集中管理:
# 使用Filebeat收集日志vim /etc/filebeat/filebeat.ymlfilebeat.inputs:- type: logpaths:- /var/log/ruoyi/*.logoutput.elasticsearch:hosts: ["localhost:9200"]
4.2 故障排查指南
常见问题处理:
数据库连接失败:
- 检查
application.yml中的连接参数 - 验证MySQL服务状态:
systemctl status mysqld - 检查防火墙规则:
iptables -L -n
- 检查
前端资源加载404:
- 确认Nginx配置中的
root指令指向正确目录 - 检查静态资源路径是否包含
/prod前缀
- 确认Nginx配置中的
JVM内存溢出:
- 增加
-Xmx参数(建议不超过物理内存的80%) - 使用
jmap -heap <pid>分析内存使用
- 增加
五、高可用架构设计
5.1 负载均衡方案
Nginx反向代理配置:
upstream ruoyi_servers {server 192.168.1.101:8080 weight=5;server 192.168.1.102:8080 weight=3;}server {listen 80;location / {proxy_pass http://ruoyi_servers;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;}}
5.2 灾备方案实施
数据库主从复制:
-- 主库配置CHANGE MASTER TOMASTER_HOST='master_ip',MASTER_USER='repl_user',MASTER_PASSWORD='password',MASTER_LOG_FILE='mysql-bin.000001',MASTER_LOG_POS=107;-- 从库启动复制START SLAVE;
定时备份策略:
# 数据库备份脚本#!/bin/bashmysqldump -urooyi -p'password' ruoyi_db > /backup/ruoyi_$(date +%Y%m%d).sql# 添加到crontab0 2 * * * /path/to/backup_script.sh
六、部署后优化建议
定期更新依赖:
# 使用Maven的versions插件检查更新mvn versions:display-dependency-updates
性能基准测试:
# 使用JMeter进行压力测试jmeter -n -t ruoyi_test.jmx -l result.jtl
安全审计:
# 使用OpenSCAP进行安全扫描oscap xccdf eval --profile xccdf_org.ssgproject.content_profile_pci-dss \--results results.xml /usr/share/xml/scap/ssg/content/ssg-centos8-ds.xml
通过以上系统化的部署方案,开发者可以构建出稳定、高效、安全的RuoYi云服务器环境。实际部署过程中,建议建立完整的变更管理流程,每次修改前进行备份,并通过自动化工具(如Ansible)实现配置的标准化管理。对于生产环境,建议采用蓝绿部署策略,确保服务零中断升级。

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