一. 案例背景:
企业级应用开发中,项目结构标准化是保障代码质量和团队协作的关键。本案例以若依(RuoYi)框架为例,展示如何构建符合企业标准的目录结构。通过学习,您将掌握目录设计原则、模块划分方法及各类资源的规范组织方式,为项目长期发展奠定基础。
二. 实验目标:
三. 前置知识:
四. 实验环境:
五. 案例整体流程概况
六. 预期成果
实验完成后,您的系统将具备以下特性:
- 若依项目的所有文件集中在
/opt/ruoyi目录下,结构清晰、职责分明 - 存在一个标准化的
application.yml配置文件模板,应用启动配置一目了然 - 配置文件通过硬链接在
backup目录中留有“防误删副本”(删除任一硬链接,数据不会丢失,仅当所有硬链接都被删除时,数据才真正释放) - 日志目录通过软链接统一到
/var/log/ruoyi,方便系统日志管理工具(如logrotate)接入 - 日志文件支持按日期压缩归档,便于长期保存和磁盘空间管理
- 形成一套完整的操作命令集,可直接作为后续自动化脚本的蓝本
七. 注意事项:
⚠️重要提醒:
- 硬链接的局限性:12.3 节中使用
ln创建的硬链接与源文件共享同一份数据(同一个 inode)。这意味着修改application.yml时,application.yml.bak的内容也会同步变化。硬链接只能防止“误删除”,无法提供“历史版本回滚”的能力。如果您期望保留修改前的配置版本,建议将ln替换为cp(复制)命令。 - 软链接的权限要求:12.4 节中创建软链接
/var/log/ruoyi需要 root 权限,因为/var/log目录默认只允许 root 写入。如果您当前不是 root 用户,请在命令前加sudo。 - tar 命令中的日期格式:12.5 节中正确写法为
$(date +%F),请勿写成$({date +%F}或5{date +%F},否则 Shell 无法正确解析,命令会执行失败。date +%F会生成形如2026-07-18的日期字符串。 - 通配符的潜在问题:
tar -tzvf /opt/ruoyi/backup/ruoyi-logs-*.tar.gz中的*通配符,如果匹配到多个文件,tar -f只能接收一个文件,会报错。建议先用ls查看具体有哪些备份文件,再指定具体文件名进行查看。 - 关于权限设置的补充说明:本案例仅涉及目录结构的创建和链接操作,未包含
chown和chmod的权限设置步骤。若您需要进一步完善权限控制(例如将config目录设为750以保护敏感配置),请参考前面章节“5.2 实施步骤”中的权限配置方法,将权限治理与本案例的目录结构治理相结合。
八. 开始实验:
8.1 创建标准化目录结构
步骤1:创建若依项目目录
图:完成后的若依项目标准目录结构示意图
步骤2:验证目录结构
图:完成后的若依项目验证目录命令和验证结果示意图
步骤3:创建配置文件模板
图:完成后的若依项目(例子)创建配置命令和文件示意图
步骤4:硬链接保护配置文件
图:完成后的若依项目(例子)硬链接保护配置文件命令示意图
步骤5:软链接统一日志路径
图:完成后的若依项目(例子)软链接命令和查询是否成功和结果示意图
步骤6:压缩归档日志
图:完成后的若依项目(例子)压缩归档日志和查询的命令的示意图
九. 小结
本文从零开始,在 Linux 服务器上为若依项目搭建了一套标准化的目录治理方案,核心完成了以下五步:
- 使用
mkdir -p创建分层目录,实现代码、配置、日志、备份的分类存放; - 使用
vim创建application.yml配置文件模板,统一应用启动配置; - 使用
ln创建硬链接保护配置文件,防止误删除导致服务中断; - 使用
ln -s创建软链接将日志目录统一到/var/log/ruoyi,便于系统日志管理; - 使用
tar结合$(date +%F)变量,实现日志的按日期自动归档备份。
这套方案本质上是一个“Linux 运维基本功的整合实战”——把mkdir、vim、ln、ln -s、tar这五个最常用的命令串联起来,解决了一个真实项目部署中会遇到的目录管理问题。
如果你也在部署 Java 项目,这套目录结构可以直接复用。下一篇可以聊聊如何配合cron定时任务实现日志的自动清理,以及如何用sudo做多角色权限治理,欢迎关注。有问题欢迎在评论区留言交流!
/strong>