news 2026/9/30 7:36:30

高效运维:利用宝塔面板优化Ruoyi项目的持续部署流程

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
高效运维:利用宝塔面板优化Ruoyi项目的持续部署流程

高效运维:宝塔面板与Ruoyi项目的持续部署实战指南

1. 环境准备与基础配置

在开始部署Ruoyi项目之前,确保服务器环境已经准备就绪。对于大多数生产环境,推荐使用CentOS 7.x或Ubuntu 20.04 LTS作为操作系统。宝塔面板支持这两种主流Linux发行版,且对资源消耗较低。

服务器基础配置建议:

  • CPU:至少2核
  • 内存:4GB以上(Java应用内存需求较高)
  • 磁盘:40GB SSD(数据库和日志文件会占用空间)
  • 带宽:3Mbps以上(根据用户量可适当增加)

安装宝塔面板非常简单,只需在服务器上执行以下命令:

# CentOS yum install -y wget && wget -O install.sh https://download.bt.cn/install/install_6.0.sh && sh install.sh ed8484bec # Ubuntu/Debian wget -O install.sh https://download.bt.cn/install/install-ubuntu_6.0.sh && sudo bash install.sh ed8484bec

安装完成后,记得在服务器安全组中放行以下端口:

端口号用途备注
8888宝塔面板建议安装后修改端口
888phpMyAdmin数据库管理
80HTTPWeb服务
443HTTPS安全Web服务
3306MySQL数据库服务
6379Redis缓存服务
8080应用默认端口Ruoyi后端常用端口

2. Ruoyi后端部署优化

Ruoyi后端基于SpringBoot框架,部署时需要特别注意配置文件的调整和依赖管理。以下是关键步骤:

  1. 数据库准备:

    • 在宝塔面板中创建MySQL数据库
    • 导入Ruoyi提供的SQL脚本(通常包括ry_xxxx.sql和quartz.sql)
    • 确保字符集为utf8mb4以支持完整Unicode字符
  2. 配置文件调整: 修改application-druid.yml中的数据库连接信息:

spring: datasource: druid: master: url: jdbc:mysql://localhost:3306/ry-vue?useSSL=false&serverTimezone=Asia/Shanghai username: your_username password: your_password
  1. 日志配置: 在logback.xml中配置日志路径,确保服务器上有对应目录:
<property name="log.path" value="/home/ruoyi/logs" />
  1. 打包与上传: 使用Maven打包项目,推荐使用以下命令确保生产环境配置:
mvn clean package -Pprod -DskipTests

上传生成的ruoyi-admin.jar到服务器后,通过宝塔的Java项目管理器进行部署:

关键配置项:

  • 项目类型:SpringBoot
  • JDK版本:推荐1.8或与开发环境一致
  • 项目端口:与application.yml中配置一致
  • 开机自启:建议开启

3. 前端部署与Nginx优化

Ruoyi前端基于Vue.js,部署时需要特别注意生产环境配置和Nginx优化。

  1. 前端打包: 修改.env.production中的API地址:
VUE_APP_BASE_API = 'http://your-domain.com/prod-api'

执行构建命令:

npm run build:prod
  1. Nginx配置优化: 以下是一个高性能的Nginx配置示例:
server { listen 80; server_name your-domain.com; # 前端静态资源 location / { root /www/wwwroot/ruoyi-ui/dist; try_files $uri $uri/ /index.html; index index.html; # 开启gzip压缩 gzip_static on; expires 1y; add_header Cache-Control "public"; } # 后端API代理 location /prod-api/ { proxy_pass http://127.0.0.1:8080/; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; # 长连接优化 proxy_http_version 1.1; proxy_set_header Connection ""; # 超时设置 proxy_connect_timeout 60s; proxy_read_timeout 600s; proxy_send_timeout 600s; } # 静态资源缓存 location ~* \.(jpg|jpeg|png|gif|ico|css|js)$ { expires 365d; add_header Cache-Control "public, no-transform"; } }
  1. 性能优化技巧:
    • 开启Brotli压缩(比Gzip更高效)
    • 配置HTTP/2提升加载速度
    • 使用CDN加速静态资源
    • 配置合适的缓存策略

4. 持续集成与自动化部署

要实现真正的DevOps流程,可以配置自动化部署方案。以下是基于宝塔Webhook和Git的自动化部署实现:

  1. 宝塔Webhook配置:
    • 在宝塔面板创建Webhook
    • 设置Git仓库的推送事件触发
    • 编写部署脚本

示例部署脚本deploy.sh:

#!/bin/bash # 拉取最新代码 cd /www/wwwroot/ruoyi git pull origin master # 构建后端 mvn clean package -Pprod -DskipTests # 重启Java项目 bt restart java_project_name # 构建前端 cd /www/wwwroot/ruoyi-ui npm install npm run build:prod # 刷新Nginx nginx -s reload
  1. Git仓库配置: 在项目的.git/hooks/post-receive中添加:
#!/bin/sh curl -X POST http://your-server-ip:8888/hook?token=your_webhook_token
  1. 备份策略: 使用宝塔的计划任务配置自动备份:
  • 数据库每日全量备份
  • 项目代码每周备份
  • 备份文件同步到云存储

5. 监控与故障排查

完善的监控系统是运维的重要保障。宝塔面板提供基础监控,但对于生产环境建议增加以下监控项:

  1. 基础资源监控:

    • CPU、内存、磁盘使用率
    • 网络流量
    • 进程状态
  2. 应用性能监控:

    • JVM内存使用情况
    • GC日志分析
    • SQL执行效率
  3. 日志分析: 配置ELK栈集中管理日志:

# 安装Filebeat wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-7.14.0-linux-x86_64.tar.gz tar -xzf filebeat-7.14.0-linux-x86_64.tar.gz
  1. 常见问题排查:
    • 端口冲突:使用netstat -tunlp检查
    • 内存不足:调整JVM参数-Xms512m -Xmx1024m
    • 数据库连接池耗尽:优化Druid配置

6. 安全加固措施

部署完成后,必须进行安全加固:

  1. 服务器安全:

    • 修改SSH默认端口
    • 禁用root远程登录
    • 配置fail2ban防止暴力破解
  2. 宝塔面板安全:

    • 修改默认8888端口
    • 设置复杂密码
    • 开启BasicAuth二次验证
  3. 应用安全:

    • 定期更新依赖库
    • 配置WAF防火墙规则
    • 启用HTTPS加密
  4. 数据库安全:

    • 限制MySQL只允许本地连接
    • 定期更改数据库密码
    • 开启binlog用于数据恢复

在实际项目中,我们曾遇到因未配置日志轮转导致磁盘爆满的情况。通过配置logrotate解决了这个问题:

# /etc/logrotate.d/ruoyi /home/ruoyi/logs/*.log { daily missingok rotate 30 compress delaycompress notifempty create 0640 root root sharedscripts postrotate /usr/bin/find /home/ruoyi/logs/ -name "*.log" -mtime +30 -exec rm -f {} \; endscript }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/27 7:29:21

消费级显卡福利:GLM-4V-9B量化版图片理解模型部署指南

消费级显卡福利&#xff1a;GLM-4V-9B量化版图片理解模型部署指南 你是否也遇到过这样的困扰&#xff1a;想本地跑一个真正能看懂图片的大模型&#xff0c;却卡在显存门槛上&#xff1f;RTX 4090都得小心翼翼调参数&#xff0c;更别说手头那张RTX 3060、4070甚至4060 Ti——它…

作者头像 李华
网站建设 2026/9/27 22:43:20

EasyAnimateV5图生视频实操:使用supervisorctl管理服务启停与日志追踪

EasyAnimateV5图生视频实操&#xff1a;使用supervisorctl管理服务启停与日志追踪 你是不是也遇到过这样的情况&#xff1a;模型服务跑着跑着就卡住了&#xff0c;网页打不开&#xff0c;但又不确定是进程挂了还是GPU爆了&#xff1f;或者想确认刚生成的视频到底有没有成功保存…

作者头像 李华
网站建设 2026/9/29 9:06:29

AgentCPM研报生成:从入门到精通的完整指南

AgentCPM研报生成&#xff1a;从入门到精通的完整指南 1. 为什么你需要一个本地研报生成工具&#xff1f; 你有没有遇到过这些情况&#xff1a; 写行业分析报告时&#xff0c;查资料花3小时&#xff0c;真正动笔写不到30分钟课题研究卡在“开头怎么写”“逻辑怎么搭”“数据…

作者头像 李华
网站建设 2026/9/27 10:06:36

RMBG-2.0创意玩法:自动生成证件照换背景工具开发

RMBG-2.0创意玩法&#xff1a;自动生成证件照换背景工具开发 1. 为什么证件照处理值得重新思考 你有没有遇到过这样的情况&#xff1a;临时需要一张蓝底证件照&#xff0c;翻遍手机相册却找不到合适的照片&#xff0c;找照相馆又得花时间排队、等修图、再取件&#xff1f;或者…

作者头像 李华