2026年保姆级教程:用宝塔面板从零部署RuoYi前后端分离项目(含Node.js v17+打包避坑)

保姆级教程:用宝塔面板从零部署RuoYi前后端分离项目(含Node.js v17+打包避坑)零基础实战 基于宝塔面板的 RuoYi 全栈项目部署指南 1 环境准备与工具安装 对于刚接触服务器运维的开发者来说 选择一款高效的服务器管理工具至关重要 宝塔面板以其直观的图形化界面和丰富的功能模块 成为新手快速上手的理想选择 在开始部署 RuoYi 前后端分离项目前 我们需要完成以下基础环境搭建 服务器基础配置清单 组件 推荐版本 作用说明 操作系统 CentOS 7 6

大家好,我是讯享网,很高兴认识大家。这里提供最前沿的Ai技术和互联网信息。

# 零基础实战:基于宝塔面板的RuoYi全栈项目部署指南

1. 环境准备与工具安装

对于刚接触服务器运维的开发者来说,选择一款高效的服务器管理工具至关重要。宝塔面板以其直观的图形化界面和丰富的功能模块,成为新手快速上手的理想选择。在开始部署RuoYi前后端分离项目前,我们需要完成以下基础环境搭建:

服务器基础配置清单:

组件 推荐版本 作用说明
操作系统 CentOS 7.6+ 提供稳定的Linux环境基础
内存 ≥4GB 保证Java和数据库运行流畅
存储空间 ≥50GB 容纳项目文件及数据库
带宽 ≥5Mbps 确保Web服务响应速度

安装宝塔面板前,建议通过SSH客户端(如PuTTY或Termius)连接到云服务器。执行以下命令获取最新安装脚本:

# 获取安装脚本并执行(CentOS系统示例) yum install -y wget && wget -O install.sh https://download.bt.cn/install/install_6.0.sh && sh install.sh ed8484bec 

> 注意:安装过程会提示确认操作,输入y并按回车继续。安装完成后会显示面板访问地址及初始账号密码,请务必妥善保存。

成功登录宝塔面板后,在"软件商店"安装以下必备组件:

  • Nginx 1.20+(Web服务器)
  • MySQL 5.7+(数据库服务)
  • Redis 6.2+(缓存服务)
  • Java项目管理器(SpringBoot支持)
  • PM2管理器(Node.js进程管理)

2. 后端服务部署详解

2.1 数据库配置实战

RuoYi项目采用MySQL作为主数据库,在宝塔面板中配置时需要特别注意字符集设置。建议按以下步骤操作:

  1. 在宝塔面板打开MySQL管理界面
  2. 创建新数据库时选择utf8mb4字符集
  3. 导入SQL文件前检查文件完整性
  4. 执行以下命令优化数据库性能:
-- 调整InnoDB缓冲池大小(根据服务器内存调整) SET GLOBAL innodb_buffer_pool_size = 2G; 

常见问题排查表:

错误现象 可能原因 解决方案
表不存在或字段缺失 SQL文件未完整执行 重新导入并检查错误日志
连接数达到上限 连接池配置过小 修改application-druid.yml
特殊字符显示乱码 字符集不匹配 统一使用utf8mb4字符集

2.2 SpringBoot应用部署

RuoYi后端采用SpringBoot框架,部署时需要注意以下几个关键点:

  1. 配置文件调整
    • 修改application.yml中的文件存储路径
    • 更新application-druid.yml的数据库连接信息
    • 检查redis.yml的服务器配置
  2. 日志目录配置: 在服务器创建日志目录并设置权限:
    mkdir -p /home/ruoyi/logs chmod 755 /home/ruoyi/logs 
  3. JAR包上传与运行
    • 使用Maven打包生成ruoyi-admin.jar
    • 通过宝塔文件管理器上传至/www/server目录
    • 在Java项目管理器中添加项目:
      • 项目路径:选择上传的JAR文件
      • 端口号:与配置文件保持一致
      • JDK版本:推荐OpenJDK 11

> 提示:若项目启动失败,可通过"项目日志"查看详细错误信息。常见问题包括端口冲突、配置文件路径错误等。

3. 前端工程部署方案

3.1 Node.js环境配置

RuoYi-Vue前端基于Vue.js构建,部署时需特别注意Node.js版本兼容性问题:

# 安装Node.js 16.x LTS版本(兼容性**) nvm install 16.14.2 nvm use 16.14.2 

对于使用Node.js 17+版本出现的OpenSSL兼容性问题,可通过以下方式解决:

  1. 修改package.json中的scripts配置:
    "build:prod": "SET NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service build" 
  2. 或在项目根目录创建.env文件:
    NODE_OPTIONS=--openssl-legacy-provider 

3.2 前端构建与部署

完成环境配置后,执行构建命令:

npm install --registry=https://registry.npmmirror.com npm run build:prod 

构建完成后,将生成的dist文件夹内容上传至宝塔面板的网站目录(通常为/www/wwwroot/your_domain)。通过Nginx配置前端访问:

server {
    listen       80;
    server_name  your_domain.com;
    
    location / {
        root   /www/wwwroot/your_domain;
        try_files $uri $uri/ /index.html;
        index  index.html index.htm;
    }
    
    location /prod-api/ 
}

4. 系统联调与优化

4.1 接口连通性测试

前后端分离架构下,接口调试是关键环节。推荐使用Postman进行系统化测试:

  1. 用户登录接口验证
  2. 菜单权限接口检查
  3. 文件上传功能测试
  4. 数据导出功能验证

常见跨域问题解决方案:

  • 确认Nginx配置中的proxy_pass指向正确后端地址
  • 检查SpringBoot的CorsConfig配置
  • 验证前端请求的baseURL是否正确

4.2 性能优化建议

前端优化方案:

  • 启用Gzip压缩(宝塔面板可一键配置)
  • 配置浏览器缓存策略
  • 使用CDN加速静态资源

后端优化参数:

# application.yml优化片段
server:
  tomcat:
    max-threads: 200
    min-spare-threads: 20
  compression:
    enabled: true
    mime-types: application/json,application/xml,text/html,text/xml,text/plain

5. 安全防护与监控

5.1 基础安全加固

  1. 防火墙配置
    • 仅开放必要端口(80,443,22等)
    • 禁用root账户SSH直接登录
    • 设置SSH密钥认证
  2. Web应用防护
    • 安装宝塔企业级防篡改插件
    • 配置Nginx WAF规则
    • 定期更新系统补丁

5.2 系统监控方案

宝塔面板内置的监控工具可满足基本需求:

  • 资源使用率实时图表
  • 网站访问日志分析
  • 数据库慢查询监控

对于生产环境,建议额外配置:

# 安装Node Exporter用于Prometheus监控 wget https://github.com/prometheus/node_exporter/releases/download/v1.3.1/node_exporter-1.3.1.linux-amd64.tar.gz tar xvfz node_exporter-* cd node_exporter-* ./node_exporter & 

6. 运维管理实践

6.1 备份策略实施

可靠的备份方案应包含:

  1. 数据库自动备份
    • 宝塔计划任务每日全量备份
    • 备份文件同步至对象存储
  2. 项目文件备份
    # 示例备份脚本 tar -czvf /backups/ruoyi_$(date +%Y%m%d).tar.gz /home/ruoyi /www/wwwroot 

6.2 日志分析技巧

RuoYi系统日志主要分布在:

  • 后端日志:/home/ruoyi/logs
  • 前端日志:Nginx访问日志
  • 数据库日志:MySQL慢查询日志

使用grep进行快速排查:

# 查找错误日志 grep -i error /home/ruoyi/logs/ruoyi-admin.log # 统计接口响应时间 awk '{print $7,$NF}' /www/wwwlogs/access.log | sort -k2 -nr | head -20 

在实际运维中,我发现将日志文件按日期分割能显著提高排查效率。可以通过logrotate工具配置自动分割,避免单个日志文件过大影响分析。

小讯
上一篇 2026-04-12 12:35
下一篇 2026-04-12 12:33

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/256002.html