logo

RuoYi云服务器部署全攻略:从零到生产环境搭建

作者:da吃一鲸8862025.09.18 12:10浏览量:0

简介:本文详细解析RuoYi系统在云服务器上的部署流程,涵盖环境准备、依赖安装、配置优化及安全加固等关键环节,为开发者提供可落地的生产环境部署方案。

RuoYi云服务器部署系统:从环境搭建到生产就绪的完整指南

一、RuoYi系统部署前的云服务器环境准备

1.1 云服务器规格选型建议

根据RuoYi系统特性,建议选择至少2核4G内存的云服务器(如阿里云ECS、腾讯云CVM等),操作系统推荐CentOS 8或Ubuntu 20.04 LTS。对于高并发场景,建议采用4核8G配置并启用负载均衡

1.2 基础环境搭建流程

  1. # 安装必要工具链
  2. sudo yum install -y wget curl git
  3. # 或Ubuntu系统
  4. sudo apt update && sudo apt install -y wget curl git
  5. # 配置防火墙规则(以CentOS为例)
  6. sudo firewall-cmd --permanent --add-port={80/tcp,443/tcp,3306/tcp,8080/tcp}
  7. sudo firewall-cmd --reload

1.3 依赖服务安装指南

  • JDK 11:推荐使用OpenJDK
    1. sudo yum install -y java-11-openjdk-devel
    2. # 验证安装
    3. java -version
  • MySQL 8.0
    1. # CentOS安装示例
    2. sudo rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el8-3.noarch.rpm
    3. sudo yum install -y mysql-community-server
    4. sudo systemctl start mysqld

二、RuoYi系统核心组件部署

2.1 后端服务部署流程

  1. 代码获取与编译

    1. git clone https://gitee.com/y_project/RuoYi-Vue.git
    2. cd RuoYi-Vue/ruoyi-admin
    3. mvn clean package -DskipTests
  2. 配置文件调整
    修改application.yml中的数据库连接信息:

    1. spring:
    2. datasource:
    3. url: jdbc:mysql://localhost:3306/ry?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
    4. username: root
    5. password: your_password
  3. 启动服务

    1. nohup java -jar ruoyi-admin.jar > admin.log 2>&1 &

2.2 前端项目部署

  1. Node环境配置

    1. curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
    2. source ~/.bashrc
    3. nvm install 16
  2. 构建与部署

    1. cd RuoYi-Vue/ruoyi-ui
    2. npm install
    3. npm run build:prod
    4. # 将dist目录内容上传至Nginx静态资源目录

三、云服务器优化与安全加固

3.1 性能优化策略

  • JVM调优参数
    1. JAVA_OPTS="-Xms512m -Xmx1024m -XX:MetaspaceSize=256m -XX:MaxMetaspaceSize=512m"
  • MySQL索引优化
    1. -- 示例:为sys_user表添加常用查询索引
    2. ALTER TABLE sys_user ADD INDEX idx_username (username);

3.2 安全防护措施

  1. SSH安全加固

    1. # 修改默认SSH端口
    2. sudo vim /etc/ssh/sshd_config
    3. Port 2222
    4. # 禁用root登录
    5. PermitRootLogin no
    6. sudo systemctl restart sshd
  2. Nginx安全配置

    1. server {
    2. listen 443 ssl;
    3. server_name your-domain.com;
    4. # SSL配置
    5. ssl_certificate /path/to/cert.pem;
    6. ssl_certificate_key /path/to/key.pem;
    7. # 安全头设置
    8. add_header X-Frame-Options "SAMEORIGIN";
    9. add_header X-Content-Type-Options "nosniff";
    10. }

四、运维监控体系搭建

4.1 日志收集与分析

配置Logback日志轮转:

  1. <!-- logback-spring.xml示例 -->
  2. <appender name="ROLLING" class="ch.qos.logback.core.rolling.RollingFileAppender">
  3. <file>logs/ruoyi.log</file>
  4. <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
  5. <fileNamePattern>logs/ruoyi.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
  6. <maxFileSize>100MB</maxFileSize>
  7. <maxHistory>30</maxHistory>
  8. </rollingPolicy>
  9. </appender>

4.2 监控告警设置

  1. Prometheus监控配置

    1. # prometheus.yml配置示例
    2. scrape_configs:
    3. - job_name: 'ruoyi'
    4. metrics_path: '/actuator/prometheus'
    5. static_configs:
    6. - targets: ['localhost:8080']
  2. Grafana仪表盘
    建议监控指标:

    • JVM内存使用率
    • 数据库连接数
    • 请求响应时间

五、常见问题解决方案

5.1 数据库连接失败排查

  1. 检查MySQL服务状态:
    1. sudo systemctl status mysqld
  2. 验证防火墙设置:
    1. sudo firewall-cmd --list-ports

5.2 前端资源加载404错误

  1. 检查Nginx配置中的root路径是否正确指向dist目录
  2. 验证前端构建时配置的publicPath
    1. // vue.config.js
    2. module.exports = {
    3. publicPath: process.env.NODE_ENV === 'production' ? '/./' : '/'
    4. }

六、进阶部署方案

6.1 容器化部署

  1. Docker Compose示例
    1. version: '3'
    2. services:
    3. ruoyi-admin:
    4. image: openjdk:11-jre
    5. ports:
    6. - "8080:8080"
    7. volumes:
    8. - ./ruoyi-admin.jar:/app.jar
    9. command: ["java", "-jar", "/app.jar"]
    10. mysql:
    11. image: mysql:8.0
    12. environment:
    13. MYSQL_ROOT_PASSWORD: your_password
    14. volumes:
    15. - ./mysql_data:/var/lib/mysql

6.2 持续集成/持续部署(CI/CD)

  1. GitHub Actions示例
    1. name: RuoYi CI/CD
    2. on: [push]
    3. jobs:
    4. build:
    5. runs-on: ubuntu-latest
    6. steps:
    7. - uses: actions/checkout@v2
    8. - name: Set up JDK
    9. uses: actions/setup-java@v1
    10. with:
    11. java-version: '11'
    12. - name: Build with Maven
    13. run: mvn -B package --file ruoyi-admin/pom.xml

七、生产环境检查清单

  1. 基础设施验证

    • 云服务器资源监控是否开启
    • 备份策略是否配置(每日全量+增量备份)
  2. 安全合规检查

    • 敏感数据是否加密存储
    • 访问日志是否保留至少90天
  3. 性能基准测试

    1. # 使用JMeter进行压力测试
    2. jmeter -n -t test_plan.jmx -l result.jtl

通过以上系统化的部署方案,开发者可以高效完成RuoYi系统在云服务器上的部署工作。建议定期进行安全审计和性能优化,确保系统长期稳定运行。对于企业级应用,建议采用蓝绿部署或金丝雀发布策略降低升级风险。

相关文章推荐

发表评论