logo

RuoYi云服务器部署全攻略:从零到稳定运行的实践指南

作者:快去debug2025.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环境配置

  1. # 安装OpenJDK 11
  2. sudo apt update
  3. sudo apt install openjdk-11-jdk -y
  4. # 验证安装
  5. java -version
  6. # 设置JAVA_HOME环境变量
  7. echo 'export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64' >> ~/.bashrc
  8. source ~/.bashrc

MySQL数据库部署

  1. -- 创建数据库专用用户
  2. CREATE USER 'ruoyi'@'%' IDENTIFIED BY 'SecurePassword123!';
  3. GRANT ALL PRIVILEGES ON ruoyi_db.* TO 'ruoyi'@'%';
  4. FLUSH PRIVILEGES;
  5. -- 创建数据库(字符集建议utf8mb4
  6. CREATE DATABASE ruoyi_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

二、RuoYi系统部署实施

2.1 源代码获取与编译

  1. # 克隆官方仓库
  2. git clone https://gitee.com/y_project/RuoYi-Vue.git
  3. cd RuoYi-Vue
  4. # Maven依赖安装(建议使用阿里云镜像)
  5. vim pom.xml
  6. # 在<mirrors>标签下添加:
  7. <mirror>
  8. <id>aliyunmaven</id>
  9. <mirrorOf>*</mirrorOf>
  10. <name>阿里云公共仓库</name>
  11. <url>https://maven.aliyun.com/repository/public</url>
  12. </mirror>
  13. # 执行编译打包
  14. mvn clean package -Dmaven.test.skip=true

2.2 应用部署配置

后端服务配置
修改ruoyi-admin/src/main/resources/application.yml

  1. spring:
  2. datasource:
  3. url: jdbc:mysql://localhost:3306/ruoyi_db?useSSL=false&serverTimezone=UTC
  4. username: ruoyi
  5. password: SecurePassword123!
  6. redis:
  7. host: 127.0.0.1
  8. port: 6379

前端部署方案

  1. # 进入前端目录
  2. cd ruoyi-ui
  3. # 安装node依赖(建议使用nvm管理node版本)
  4. nvm use 14.17.0
  5. npm install --registry=https://registry.npmmirror.com
  6. # 构建生产环境
  7. npm run build:prod
  8. # 将生成的dist目录内容上传至Nginx静态资源目录

三、云服务器环境优化

3.1 性能调优策略

JVM参数优化
ruoyi-admin/src/main/resources/bootstrap.yml中添加:

  1. server:
  2. tomcat:
  3. max-threads: 200
  4. accept-count: 1000
  5. spring:
  6. servlet:
  7. multipart:
  8. max-file-size: 50MB
  9. max-request-size: 100MB

MySQL性能优化

  1. -- 调整缓冲池大小(建议为物理内存的50-70%)
  2. SET GLOBAL innodb_buffer_pool_size=2147483648; -- 2GB
  3. -- 优化查询缓存
  4. SET GLOBAL query_cache_size=67108864; -- 64MB
  5. SET GLOBAL query_cache_type=1;

3.2 安全加固方案

防火墙配置

  1. # 使用ufw简化管理(Ubuntu)
  2. sudo ufw allow 22/tcp
  3. sudo ufw allow 80/tcp
  4. sudo ufw allow 443/tcp
  5. sudo ufw enable
  6. # CentOS使用firewalld
  7. sudo firewall-cmd --permanent --add-port={22,80,443}/tcp
  8. sudo firewall-cmd --reload

SSH安全增强

  1. # 修改默认SSH端口
  2. sudo vim /etc/ssh/sshd_config
  3. Port 2222
  4. # 禁用root登录
  5. PermitRootLogin no
  6. # 重启服务
  7. sudo systemctl restart sshd

四、运维监控体系构建

4.1 基础监控方案

Prometheus+Grafana监控

  1. # 在prometheus.yml中添加Job
  2. - job_name: 'ruoyi'
  3. static_configs:
  4. - targets: ['localhost:8080']
  5. labels:
  6. instance: 'ruoyi-admin'

日志集中管理

  1. # 使用Filebeat收集日志
  2. vim /etc/filebeat/filebeat.yml
  3. filebeat.inputs:
  4. - type: log
  5. paths:
  6. - /var/log/ruoyi/*.log
  7. output.elasticsearch:
  8. hosts: ["localhost:9200"]

4.2 故障排查指南

常见问题处理

  1. 数据库连接失败

    • 检查application.yml中的连接参数
    • 验证MySQL服务状态:systemctl status mysqld
    • 检查防火墙规则:iptables -L -n
  2. 前端资源加载404

    • 确认Nginx配置中的root指令指向正确目录
    • 检查静态资源路径是否包含/prod前缀
  3. JVM内存溢出

    • 增加-Xmx参数(建议不超过物理内存的80%)
    • 使用jmap -heap <pid>分析内存使用

五、高可用架构设计

5.1 负载均衡方案

Nginx反向代理配置

  1. upstream ruoyi_servers {
  2. server 192.168.1.101:8080 weight=5;
  3. server 192.168.1.102:8080 weight=3;
  4. }
  5. server {
  6. listen 80;
  7. location / {
  8. proxy_pass http://ruoyi_servers;
  9. proxy_set_header Host $host;
  10. proxy_set_header X-Real-IP $remote_addr;
  11. }
  12. }

5.2 灾备方案实施

数据库主从复制

  1. -- 主库配置
  2. CHANGE MASTER TO
  3. MASTER_HOST='master_ip',
  4. MASTER_USER='repl_user',
  5. MASTER_PASSWORD='password',
  6. MASTER_LOG_FILE='mysql-bin.000001',
  7. MASTER_LOG_POS=107;
  8. -- 从库启动复制
  9. START SLAVE;

定时备份策略

  1. # 数据库备份脚本
  2. #!/bin/bash
  3. mysqldump -urooyi -p'password' ruoyi_db > /backup/ruoyi_$(date +%Y%m%d).sql
  4. # 添加到crontab
  5. 0 2 * * * /path/to/backup_script.sh

六、部署后优化建议

  1. 定期更新依赖

    1. # 使用Maven的versions插件检查更新
    2. mvn versions:display-dependency-updates
  2. 性能基准测试

    1. # 使用JMeter进行压力测试
    2. jmeter -n -t ruoyi_test.jmx -l result.jtl
  3. 安全审计

    1. # 使用OpenSCAP进行安全扫描
    2. oscap xccdf eval --profile xccdf_org.ssgproject.content_profile_pci-dss \
    3. --results results.xml /usr/share/xml/scap/ssg/content/ssg-centos8-ds.xml

通过以上系统化的部署方案,开发者可以构建出稳定、高效、安全的RuoYi云服务器环境。实际部署过程中,建议建立完整的变更管理流程,每次修改前进行备份,并通过自动化工具(如Ansible)实现配置的标准化管理。对于生产环境,建议采用蓝绿部署策略,确保服务零中断升级。

相关文章推荐

发表评论

活动