RuoYi云服务器部署全攻略:从零到生产环境搭建
2025.09.18 12:10浏览量:5简介:本文详细解析RuoYi系统在云服务器上的部署流程,涵盖环境准备、依赖安装、配置优化及安全加固等关键环节,为开发者提供可落地的生产环境部署方案。
RuoYi云服务器部署系统:从环境搭建到生产就绪的完整指南
一、RuoYi系统部署前的云服务器环境准备
1.1 云服务器规格选型建议
根据RuoYi系统特性,建议选择至少2核4G内存的云服务器(如阿里云ECS、腾讯云CVM等),操作系统推荐CentOS 8或Ubuntu 20.04 LTS。对于高并发场景,建议采用4核8G配置并启用负载均衡。
1.2 基础环境搭建流程
# 安装必要工具链sudo yum install -y wget curl git# 或Ubuntu系统sudo apt update && sudo apt install -y wget curl git# 配置防火墙规则(以CentOS为例)sudo firewall-cmd --permanent --add-port={80/tcp,443/tcp,3306/tcp,8080/tcp}sudo firewall-cmd --reload
1.3 依赖服务安装指南
- JDK 11:推荐使用OpenJDK
sudo yum install -y java-11-openjdk-devel# 验证安装java -version
- MySQL 8.0:
# CentOS安装示例sudo rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el8-3.noarch.rpmsudo yum install -y mysql-community-serversudo systemctl start mysqld
二、RuoYi系统核心组件部署
2.1 后端服务部署流程
代码获取与编译:
git clone https://gitee.com/y_project/RuoYi-Vue.gitcd RuoYi-Vue/ruoyi-adminmvn clean package -DskipTests
配置文件调整:
修改application.yml中的数据库连接信息:spring:datasource:url: jdbc
//localhost:3306/ry?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8username: rootpassword: your_password
启动服务:
nohup java -jar ruoyi-admin.jar > admin.log 2>&1 &
2.2 前端项目部署
Node环境配置:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bashsource ~/.bashrcnvm install 16
构建与部署:
cd RuoYi-Vue/ruoyi-uinpm installnpm run build:prod# 将dist目录内容上传至Nginx静态资源目录
三、云服务器优化与安全加固
3.1 性能优化策略
- JVM调优参数:
JAVA_OPTS="-Xms512m -Xmx1024m -XX:MetaspaceSize=256m -XX:MaxMetaspaceSize=512m"
- MySQL索引优化:
-- 示例:为sys_user表添加常用查询索引ALTER TABLE sys_user ADD INDEX idx_username (username);
3.2 安全防护措施
SSH安全加固:
# 修改默认SSH端口sudo vim /etc/ssh/sshd_configPort 2222# 禁用root登录PermitRootLogin nosudo systemctl restart sshd
Nginx安全配置:
server {listen 443 ssl;server_name your-domain.com;# SSL配置ssl_certificate /path/to/cert.pem;ssl_certificate_key /path/to/key.pem;# 安全头设置add_header X-Frame-Options "SAMEORIGIN";add_header X-Content-Type-Options "nosniff";}
四、运维监控体系搭建
4.1 日志收集与分析
配置Logback日志轮转:
<!-- logback-spring.xml示例 --><appender name="ROLLING" class="ch.qos.logback.core.rolling.RollingFileAppender"><file>logs/ruoyi.log</file><rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy"><fileNamePattern>logs/ruoyi.%d{yyyy-MM-dd}.%i.log</fileNamePattern><maxFileSize>100MB</maxFileSize><maxHistory>30</maxHistory></rollingPolicy></appender>
4.2 监控告警设置
Prometheus监控配置:
# prometheus.yml配置示例scrape_configs:- job_name: 'ruoyi'metrics_path: '/actuator/prometheus'static_configs:- targets: ['localhost:8080']
Grafana仪表盘:
建议监控指标:- JVM内存使用率
- 数据库连接数
- 请求响应时间
五、常见问题解决方案
5.1 数据库连接失败排查
- 检查MySQL服务状态:
sudo systemctl status mysqld
- 验证防火墙设置:
sudo firewall-cmd --list-ports
5.2 前端资源加载404错误
- 检查Nginx配置中的
root路径是否正确指向dist目录 - 验证前端构建时配置的
publicPath:// vue.config.jsmodule.exports = {publicPath: process.env.NODE_ENV === 'production' ? '/./' : '/'}
六、进阶部署方案
6.1 容器化部署
- Docker Compose示例:
version: '3'services:ruoyi-admin:image: openjdk:11-jreports:- "8080:8080"volumes:- ./ruoyi-admin.jar:/app.jarcommand: ["java", "-jar", "/app.jar"]mysql:image: mysql:8.0environment:MYSQL_ROOT_PASSWORD: your_passwordvolumes:- ./mysql_data:/var/lib/mysql
6.2 持续集成/持续部署(CI/CD)
- GitHub Actions示例:
七、生产环境检查清单
基础设施验证:
- 云服务器资源监控是否开启
- 备份策略是否配置(每日全量+增量备份)
安全合规检查:
- 敏感数据是否加密存储
- 访问日志是否保留至少90天
性能基准测试:
# 使用JMeter进行压力测试jmeter -n -t test_plan.jmx -l result.jtl
通过以上系统化的部署方案,开发者可以高效完成RuoYi系统在云服务器上的部署工作。建议定期进行安全审计和性能优化,确保系统长期稳定运行。对于企业级应用,建议采用蓝绿部署或金丝雀发布策略降低升级风险。

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