当前位置: 首页 > news >正文

从零到一:在CentOS 7上实战部署若依前后端分离项目(ruoyi-vue)全流程解析

1. 环境准备:从零搭建CentOS 7服务器

第一次接触Linux服务器部署时,我对着云服务商的控制台研究了整整半天。选择CentOS 7而不是其他发行版的原因很简单——它就像技术界的"普通话",网上90%的教程都基于这个系统。记得当时在华为云的EulerOS和CentOS之间犹豫不决,最后发现CentOS 7的软件兼容性更好,遇到问题也更容易找到解决方案。

购买服务器时有个小技巧:先选按量付费模式测试配置,确认没问题再转包年包月。我通常选择2核4G的配置起步,这对若依系统来说完全够用。重置密码后千万别急着关闭页面,建议用Keepass这类密码管理工具保存IP、端口和密码。第一次登录时可能会被要求修改初始密码,这个步骤经常被新手忽略导致后续登录失败。

2. 基础环境安装:JDK、MySQL与Redis

2.1 Java环境配置

在CentOS上安装JDK就像在Windows上装QQ一样简单——只要用对命令。我习惯用yum安装OpenJDK 8,这是最稳定的选择:

yum install -y java-1.8.0-openjdk*

装完后别急着庆祝,记得检查版本号:

java -version

最关键的环节是配置环境变量。很多新手会卡在这里,其实只要记住三个要点:

  1. 编辑/etc/profile文件时要用sudo权限
  2. JAVA_HOME路径通常是/usr/lib/jvm/java-1.8.0
  3. 修改后必须执行source /etc/profile使配置生效

2.2 MySQL 5.7安装指南

MySQL安装就像搭积木,必须按顺序安装各个组件。我推荐下载官方rpm包手动安装,虽然比yum麻烦但更可控。遇到过最坑的问题是依赖缺失,这时候只需要:

yum install -y libaio

安装完成后,一定要去/var/log/mysqld.log找初始密码,这个随机密码只能用一次。修改密码时要注意复杂度要求,我常用的模板是"项目名+特殊符号+数字",比如"RuoYi@2023"。

2.3 Redis部署技巧

Redis安装就像组装乐高,先装gcc编译器这个"工具箱":

yum install -y gcc

编译安装时有个经验之谈:如果make命令卡住,可能是内存不足,可以加个swap分区。生产环境建议配置密码认证和持久化,但测试环境直接用默认配置也行。启动服务时一定要用守护进程模式:

./redis-server redis.conf

3. 前端部署:Nginx配置实战

Nginx就像项目的门面,配置不当会导致页面白屏或接口404。我建议用yum直接安装:

yum install -y nginx

关键配置在/etc/nginx/nginx.conf,需要特别注意两个location块:

  1. 前端静态文件路径要指向dist目录
  2. /prod-api/要代理到后端服务端口

常见坑点包括:

  • 忘记开放80端口防火墙
  • 路径写错导致403错误
  • 缓存配置不当导致更新不生效

测试配置是否正确有个小技巧:

nginx -t

4. 若依系统部署全流程

4.1 数据库初始化

导入SQL文件时最容易遇到字符集问题,创建数据库时一定要指定utf8:

CREATE DATABASE vue DEFAULT CHARACTER SET=utf8

导入数据后别忘了检查表是否完整:

SHOW TABLES;

4.2 后端服务部署

打包好的jar文件可以通过scp命令上传到服务器:

scp ruoyi-admin.jar root@your_server_ip:/app/ruoyi/

启动服务时建议用nohup防止断开连接后服务停止:

nohup java -jar ruoyi-admin.jar &

4.3 前端资源部署

Vue项目build生成的dist目录要完整上传到服务器。我习惯用rsync同步,比ftp更可靠:

rsync -avz dist/ root@your_server_ip:/app/ruoyi-ui

5. 常见问题排查手册

部署过程中最常遇到的三个问题:

  1. 端口冲突:用netstat -tunlp查看占用情况
  2. 权限不足:chmod -R 755 /app解决目录权限
  3. 服务未启动:systemctl status查看服务状态

日志查看是排查问题的金钥匙:

  • 后端日志:tail -f nohup.out
  • Nginx日志:/var/log/nginx/error.log
  • MySQL日志:/var/log/mysqld.log

记得第一次部署时,因为Redis没启动导致登录一直失败,花了两个小时才找到原因。现在我会准备个检查清单,挨个确认服务状态。还有个实用技巧是用telnet测试端口连通性:

telnet localhost 6379

6. 性能优化与安全加固

正式环境部署还需要考虑:

  1. 配置HTTPS证书提升安全性
  2. 设置Nginx的gzip压缩减少传输量
  3. 配置MySQL的innodb_buffer_pool_size
  4. 限制Redis的外网访问

对于高并发场景,建议:

  • 前端启用CDN加速
  • 后端增加JVM堆内存
  • Redis配置持久化策略
  • MySQL优化查询索引

我在实际项目中发现,若依默认的Tomcat配置对并发支持有限,可以通过修改application.yml中的server配置来优化:

server: tomcat: max-threads: 200 min-spare-threads: 30

最后提醒一点:一定要定期备份数据库和代码目录。曾经因为服务器故障丢失过数据,现在我会用crontab设置自动备份:

0 3 * * * mysqldump -uroot -p vue > /backup/vue_$(date +%F).sql
http://www.jsqmd.com/news/698250/

相关文章:

  • 图像篡改检测的“火眼金睛”是如何炼成的?深入浅出解读MVSS-Net的多视图与多尺度设计
  • 2026年珠三角海运与多式联运全链路方案对比指南:找到最稳妥的货代伙伴 - 企业名录优选推荐
  • AltSnap:让Windows窗口管理像Linux一样高效
  • Python ERA5 水汽通量散度图实战:从数据下载到SCI级地图绘制的完整流程
  • 如何通过Pomotroid实现高效时间管理:番茄工作法新手指南
  • HarmonyOS在金融嵌入式设备中的应用开发实践:从入门到精通
  • 解决研发打样难:苏州支持“1件起订”的精密零件加工厂 - 莱图加精密零件加工
  • 分析2026年多层超声波三次元旋振筛生产厂家,如何选择? - myqiye
  • Open XML SDK完全指南:如何高效处理Office文档自动化
  • 虚拟机安装AlmaLinux 9.x及其常用软件(2026.3)
  • 2026年口碑好的人员外包公司推荐,江苏、广州等地专业机构全解析 - 工业推荐榜
  • 如何使用Awesome-Diffusion-Model-Based-Image-Editing-Methods:完整的扩散模型图像编辑指南
  • 告别数据预处理焦虑:UAVid 4K街景数据集的高效加载与增强技巧(附PyTorch代码)
  • supplier_schema.py
  • Arthas增强版athas:Java线上诊断工具的一键部署与生产级实践
  • AI智能体工程化:从模式到技能的构建与编排实践
  • Qsign终极实战指南:3步构建高性能QQ签名API服务架构
  • 终极MCP服务器:构建AI工具调用的标准化协议与生产级实践
  • 7-Zip深度解析:突破性压缩技术如何重塑文件管理效率
  • 2026年洛阳商务宴请与商务聚餐完全指南:诱江南江浙菜高端定制避坑手册 - 年度推荐企业名录
  • Graph WaveNet数据加载与预处理全解析:从.pkl邻接矩阵到标准化DataLoader
  • 快速回收百联OK卡,这些平台让你秒变回收达人 - 团团收购物卡回收
  • 仅用32KB RAM运行Qwen-0.5B?:20年嵌入式老兵逆向拆解模型蒸馏+INT4权重重映射+汇编级Cache预取的极限压缩术
  • 【简单】判断一个数是否是回文数-Java
  • HC-05蓝牙模块除了遥控小车,还能这么玩?手把手教你配置AT命令,变身Arduino无线烧录神器
  • 5个简单步骤:如何快速搭建你的私有AI聊天平台
  • 南京岩洲建设:南京台班挖机出租公司 - LYL仔仔
  • 5分钟掌握跨平台文件分享技巧:百度网盘高效工具使用指南
  • 5分钟搞定BepInEx:让你的游戏瞬间变强大的终极插件框架
  • 别再手动加图例了!用MATLAB的text函数给你的图表做精准标注(附TeX公式写法)