news 2026/4/3 4:44:02

宝塔面板实战:从零部署Ruoyi前后端分离项目的完整指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
宝塔面板实战:从零部署Ruoyi前后端分离项目的完整指南

1. 环境准备与宝塔面板安装

第一次用宝塔部署Ruoyi项目时,我对着命令行界面发呆了半小时——这可能是很多小白的真实写照。其实整个过程就像组装乐高积木,只要按步骤来就能搭建出完整的系统。我们先从最基础的服务器环境说起。

选择云服务器时,国内主流平台1核2G配置就足够运行Ruoyi。记得在安全组开放以下端口:8888(宝塔面板)、80/443(Web服务)、3306(MySQL)、6379(Redis)以及项目要用的端口(如8080)。拿到服务器后,用SSH工具连接,执行这条"魔法咒语":

yum install -y wget && wget -O install.sh https://download.bt.cn/install/install_6.0.sh && sh install.sh ed8484bec

安装完成后会显示面板地址和初始账号密码,建议立即保存到本地。首次登录宝塔会弹出环境安装向导,我建议选择"LNMP"组合(Nginx 1.20+、MySQL 5.7、PHP 7.4)。这里有个小技巧:PHP版本选7.4足够用,MySQL一定要选5.7以上,否则导入数据时会报错。

2. 后端部署全流程

2.1 数据库配置

在宝塔面板的数据库菜单新建数据库,字符集选utf8mb4。下载的Ruoyi源码里会有SQL文件(通常在/sql目录),通过宝塔的phpMyAdmin导入时,我遇到过两个典型问题:

  • 文件过大无法上传:修改php.ini中的upload_max_filesize
  • 外键约束报错:在导入前执行SET FOREIGN_KEY_CHECKS=0

记得检查application-druid.yml中的数据库配置,特别是密码字段。有次我折腾半天连接失败,最后发现是密码里的特殊字符没转义。

2.2 项目打包与上传

用IDEA打开项目后,先修改这三个配置文件:

  1. application.yml:server.port改为计划使用的端口(如8080)
  2. application-druid.yml:数据库连接信息
  3. logback.xml:日志路径改为服务器真实路径(如/www/wwwroot/logs)

执行maven打包时,建议跳过测试:

mvn clean package -Dmaven.test.skip=true

上传jar包到服务器后,在宝塔的"Java项目"菜单新建项目。关键配置点:

  • 项目路径:建议放在/www/wwwroot/目录下
  • JDK版本:与本地开发环境保持一致
  • 端口号:与配置文件中的server.port一致

2.3 常见启动问题

第一次启动失败时别慌,查看日志通常能发现:

  • 端口冲突:netstat -tlnp查看占用端口的进程
  • 数据库连接失败:检查账号密码及远程连接权限
  • 文件权限问题:chmod -R 777 /www/wwwroot/logs

3. 前端部署实战

3.1 项目打包技巧

在ruoyi-ui目录下执行打包时,Node.js版本建议用16.x。遇到过两个坑:

  1. 高版本Node报openssl错误:在package.json的build命令前加SET NODE_OPTIONS=--openssl-legacy-provider
  2. 打包后页面空白:修改vue.config.js中的publicPath为./

3.2 Nginx配置精髓

宝塔新建站点后,关键配置在Nginx的location块:

location / { try_files $uri $uri/ /index.html; root /www/wwwroot/ruoyi-ui/dist; } location /prod-api/ { proxy_pass http://127.0.0.1:8080/; proxy_set_header Host $http_host; }

特别注意:

  • proxy_pass末尾的/不能漏
  • 前端路由需要try_files配置
  • 静态资源缓存可以设置expires

4. 安全加固与优化

部署完成后,建议立即:

  1. 修改宝塔面板默认端口
  2. 设置SSH密钥登录
  3. 配置防火墙规则
  4. 开启Nginx的gzip压缩
  5. 设置定时任务备份数据库

性能优化方面,可以:

  • 调整JVM参数:-Xms512m -Xmx1024m
  • 配置Redis缓存
  • 开启Nginx的http2

5. 故障排查指南

遇到问题先看日志:

  • 后端日志:/www/wwwroot/项目名/logs
  • Nginx错误日志:/www/wwwlogs/域名.error.log
  • MySQL慢查询日志:通过宝塔面板开启

常见问题解决方案:

  1. 502错误:检查后端服务是否运行
  2. 接口404:确认Nginx的proxy_pass配置
  3. 静态资源加载失败:检查路径和权限
  4. 登录失败:确认Redis服务正常

记得第一次成功看到登录页面的成就感,所有报错都成了值得回味的经历。部署过程中养成记录配置变更的习惯,下次再部署同样项目时效率能提升数倍。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/27 20:20:29

无需专业背景!MedGemma X-Ray医疗影像分析系统保姆级教程

无需专业背景!MedGemma X-Ray医疗影像分析系统保姆级教程 你是否曾好奇:一张胸部X光片里到底藏着多少信息?医生是如何在密密麻麻的灰白影像中快速定位异常的?现在,这种能力不再只属于放射科专家——MedGemma X-Ray&am…

作者头像 李华
网站建设 2026/3/26 9:06:34

【FPGA Verilog】模24计数器实战:从设计到仿真全解析

1. 模24计数器基础概念 模24计数器是一种在数字电路中广泛应用的时序逻辑器件,它能循环计数从0到23的数值。这种计数器在时钟显示、工业控制等领域特别常见,比如我们常见的24小时制电子钟就需要用到它。 我第一次接触模24计数器是在大学数字电路实验课…

作者头像 李华
网站建设 2026/3/28 12:15:08

深入解析Process Explorer:Windows系统进程监控的终极利器

1. Process Explorer是什么? Process Explorer是微软Sysinternals工具集中的一款免费进程管理工具,可以理解为Windows任务管理器的"超级增强版"。我第一次接触这个工具是在排查一个系统卡顿问题时,当时任务管理器只能告诉我CPU占用…

作者头像 李华
网站建设 2026/3/23 0:04:18

页面显示异常怎么办?Fun-ASR浏览器兼容性测试

页面显示异常怎么办?Fun-ASR浏览器兼容性测试 你刚启动 Fun-ASR,浏览器打开 http://localhost:7860,却看到一片空白、按钮错位、界面卡死,或者干脆弹出“加载失败”提示——别急,这不是模型坏了,也不是服务…

作者头像 李华
网站建设 2026/3/18 11:20:31

3步解锁无损音频转换:NCMconverter全攻略

3步解锁无损音频转换:NCMconverter全攻略 【免费下载链接】NCMconverter NCMconverter将ncm文件转换为mp3或者flac文件 项目地址: https://gitcode.com/gh_mirrors/nc/NCMconverter 你是否遇到过下载的网易云音乐ncm文件无法在其他播放器中打开的尴尬&#x…

作者头像 李华
网站建设 2026/3/19 0:20:40

用YOLOv9镜像做目标检测,新手避坑全攻略

用YOLOv9镜像做目标检测,新手避坑全攻略 你是不是也经历过这样的时刻:刚下载完YOLOv9代码,conda环境装了三遍,CUDA版本对不上,pip install卡在opencv,好不容易跑通detect.py,结果报错ModuleNot…

作者头像 李华