
服务器运维Alibaba Cloud Linux 4 LTS 64位 根目录全景深度解析文章-CSDN博客适配系统Alibaba Cloud Linux 4 LTSRHEL9 生态64位适用场景Vue/Vite 前端静态项目、SpringBoot 微服务后端、K3S 轻量 Kubernetes 容器集群部署规范目标统一前端静态部署、后端服务部署、K3S容器资源目录标准实现系统目录、业务资源、容器资源完全隔离适配测试/生产环境降低运维维护成本规避文件丢失、权限混乱、路径报错等常见问题。一、全局目录选址总规则前后端K3S 通用1.1 核心原则系统资源与业务资源隔离系统配置存 /etc、系统日志存 /var/log所有前后端业务代码、静态资源、容器配置统一独立存放不侵入系统目录前后端资源隔离前端静态资源、后端服务程序、K3S容器资源分目录部署互不干扰禁止临时目录存业务严禁 /tmp、/root 正式投产规避系统自动清理、误删风险容器与宿主机隔离K3S 配置、镜像缓存、挂载卷独立目录不混用前后端业务目录1.2 全场景目录优先级对照表部署场景首选目录推荐等级核心适用场景禁止/不推荐事项Vue前端项目/opt/frontend/{项目名}⭐⭐⭐⭐⭐ 生产首选Vue2/Vue3、Vite、Nuxt静态打包项目Nginx反向代理托管不放在 /usr/share/nginx/html、/root、/tmp避免全局覆盖、文件丢失Java后端项目/opt/backend/{项目名}⭐⭐⭐⭐⭐ 生产首选SpringBoot、SpringCloud微服务、RPC网关、后台接口服务禁止存放系统脚本、yum安装组件不与前端资源混目录中间件源码部署/usr/local/{中间件名}⭐⭐⭐⭐⭐ 标准规范Nginx、Redis、RocketMQ、Seata、MinIO 手动编译安装业务前后端代码禁止放入此目录专属中间件程序K3S 集群资源/opt/k3s⭐⭐⭐⭐⭐ 容器专属K3S 配置文件、持久化挂载卷、镜像缓存、集群脚本禁止存放前后端原始业务代码避免容器挂载冲突多用户业务部署/home/{业务用户}⭐⭐⭐⭐非root账号运行前后端项目最小权限安全部署root运行的核心生产项目不建议放置此处临时测试调试/root/workspace⭐⭐前后端Demo测试、脚本调试、临时验证功能严禁存放正式生产项目权限开放高、易误删全局临时文件/tmp❌ 完全禁止投产仅用于解压安装包、临时缓存文件系统定时自动清理禁止放静态资源、jar包、配置、日志二、Vue前端专属标准目录结构生产规范适配Vue3 Vite、Vue2 Webpack 打包后的 dist 静态资源Nginx 托管部署统一根路径/opt/frontend/{项目名}示例项目web-admin 后台前端/opt/frontend/web-admin ├── dist/ # 核心打包静态资源index.html、js、css、img、fonts ├── config/ # 前端nginx专属配置、环境变量配置 │ ├── nginx.conf # 项目独立nginx代理配置不修改全局nginx配置 │ └── env.js # 线上环境接口地址、静态资源配置 ├── logs/ # 前端访问日志、错误日志、nginx代理日志 ├── backup/ # 历史打包包、旧版本静态资源备份 ├── temp/ # 前端临时解压、更新缓存文件 └── script/ # 前端发布、回滚、更新自动化脚本2.1 前端目录用途详解子目录核心作用运维部署规范dist存放打包后的线上静态资源是前端对外访问的核心目录每次发布直接覆盖更新禁止手动修改打包后文件统一通过打包工具生成config隔离项目专属Nginx配置不污染全局 /etc/nginx 配置全局Nginx通过 include 引入项目配置多前端项目互不冲突logs存放前端页面访问日志、404/500错误日志、接口代理日志配置日志自动切割、定期清理防止磁盘爆满backup版本备份支持快速回滚每次发布前备份旧dist包按日期命名归档script自动化发布、灰度、回滚脚本统一脚本权限支持一键更新前端项目2.2 前端目录一键生成命令mkdir -p /opt/frontend/web-admin/{dist,config,logs,backup,temp,script}2.3 前端Nginx配置挂载规范全局Nginx主配置/etc/nginx/nginx.conf只做通用配置项目独立配置全部存业务目录通过引入方式加载在 /etc/nginx/conf.d/ 新建软链接指向前端项目配置实现解耦ln -s /opt/frontend/web-admin/config/nginx.conf /etc/nginx/conf.d/web-admin.conf三、Java后端专属标准目录结构延续生产规范统一根路径/opt/backend/{项目名}示例项目product-center 产品微服务/opt/backend/product-center ├── app/ # SpringBoot Jar包存放目录 ├── config/ # 外部配置文件yml、jvm参数、日志配置 ├── logs/ # 业务运行日志、异常日志 ├── script/ # 启停、重启、状态查询脚本 ├── data/ # 项目本地持久化文件 ├── backup/ # 版本Jar、配置备份 └── temp/ # 项目临时缓存文件3.1 后端一键目录生成命令mkdir -p /opt/backend/product-center/{app,config,logs,script,data,backup,temp}四、K3S 容器集群专属部署目录规范适配Alibaba Cloud Linux 4 环境K3S轻量集群区分集群配置、持久化存储、资源清单、运维脚本完全隔离前后端业务目录统一根路径/opt/k3s/opt/k3s ├── config/ # K3S 集群核心配置、kubeconfig文件 ├── manifests/ # 全局自动部署yaml清单K3S自动监听 ├── apps/ # 自定义前后端容器部署yaml、service、ingress配置 │ ├── frontend/ # Vue前端容器部署清单 │ └── backend/ # Java后端容器部署清单 ├── volume/ # 容器PV持久化挂载目录静态资源、数据库数据、缓存 │ ├── frontend-data/ # 前端容器静态资源挂载 │ ├── backend-data/ # 后端服务数据挂载 │ └── middleware-data/# 中间件持久化数据Redis、MySQL ├── cache/ # 镜像缓存、临时容器文件 ├── logs/ # K3S集群日志、容器运行日志 └── script/ # 集群启停、资源更新、批量部署脚本4.1 K3S目录核心规范目录核心用途部署规范manifestsK3S原生自动加载目录放入yaml可自动创建资源仅放集群基础组件业务前后端yaml统一放入 apps 目录apps/frontend、apps/backend分类存放前后端容器部署配置结构清晰按项目拆分yaml避免单文件臃肿方便迭代更新volume容器数据持久化防止重建容器数据丢失严格区分前后端、中间件挂载目录权限单独配置config集群凭证、访问配置严格权限管控禁止普通用户修改4.2 K3S目录一键生成命令mkdir -p /opt/k3s/{config,manifests,cache,logs,script} \ /opt/k3s/apps/{frontend,backend} \ /opt/k3s/volume/{frontend-data,backend-data,middleware-data}五、全场景统一权限规范前后端K3S生产环境强制遵循最小权限原则禁止root直接运行业务/容器进程部署场景专属用户目录权限核心命令Vue前端项目webuser无登录权限目录750、文件640useradd -s /sbin/nologin webuser chown -R webuser:webuser /opt/frontendJava后端项目bizuser无登录权限目录750、文件640、脚本740useradd -s /sbin/nologin bizuser chown -R bizuser:bizuser /opt/backendK3S集群目录k3suser目录700、配置文件600useradd -s /sbin/nologin k3suser chown -R k3suser:k3suser /opt/k3s六、CI/CD 自动化部署专属目录规范适配场景Jenkins、GitLab CI、Gitee CI 自动化拉取代码、打包、构建、镜像制作、K3S容器发布、回滚流水线完全对齐本机 Vue 前端、Java 后端、K3S 容器部署目录实现构建目录、制品目录、镜像目录、K3S容器发布目录、缓存目录完全链路隔离杜绝流水线冲突、旧包残留、发布覆盖异常容器发布异常、挂载失效等问题。统一核心根路径/opt/cicd遵循 opt 语义自定义可选业务程序不归系统管控全权自主运维6.1 CI/CD 完整目录树结构/opt/cicd ├── jenkins/ # Jenkins服务本体、数据、插件、任务持久化目录 │ ├── data/ # Jenkins工作空间、任务、插件、用户数据 │ ├── config/ # Jenkins全局配置、安全策略、凭据配置 │ ├── logs/ # Jenkins服务运行日志 │ └── backup/ # Jenkins配置与数据定时备份 ├── gitlab/ # GitLab代码仓库服务本体、代码数据持久化 │ ├── data/ # Git代码仓库、提交记录、分支标签数据 │ ├── config/ # GitLab全局站点配置、邮箱、权限配置 │ ├── logs/ # GitLab运行日志、访问日志 │ └── backup/ # 代码仓库、配置全量备份 ├── workspace/ # CI/CD 流水线工作空间代码拉取、编译、打包临时目录 │ ├── frontend/ # 前端项目构建工作区 │ └── backend/ # 后端项目构建工作区 ├── artifacts/ # 统一制品仓库打包成品归档长期留存 │ ├── frontend/ # 前端 dist 压缩包、版本归档 │ └── backend/ # 后端 Jar 包、版本归档 ├── k3s-release/ # 【K3S专属】容器发布资源目录 │ ├── image-build/ # 镜像构建Dockerfile、构建脚本 │ ├── yaml-temp/ # 动态生成的K3S临时部署YAML │ └── rollback/ # K3S版本回滚资源备份 ├── config/ # CI/CD 流水线专属配置 │ ├── pipeline/ # Jenkinsfile、CI 流水线脚本 │ └── env/ # 构建环境变量、私服地址、镜像仓库、K3S集群连接配置 ├── script/ # 自动化发布、灰度、回滚、清理脚本 ├── cache/ # 构建缓存node_modules、maven 依赖缓存 ├── logs/ # 流水线构建日志、发布日志、K3S部署日志、异常日志 └── temp/ # 构建临时文件、解压缓存、临时资源6.2 CI/CD 核心目录用途详解子目录核心作用运维规范workspace流水线执行工作区Git 拉取源码、npm/maven 编译打包、代码校验每次构建自动清空冗余文件避免旧代码残留导致打包异常前后端工作区隔离互不干扰artifacts成品制品归档存储打包完成的 dist、Jar 包按「项目名-版本号-日期」归档永久留存历史版本支持一键版本回滚、灰度发布禁止随意删除k3s-releaseK3S容器发布专属资源存放镜像构建配置、动态YAML、版本回滚包专门承接容器化部署全流程与宿主机部署资源完全隔离避免YAML混乱、版本覆盖config存放流水线文件、环境变量、私服、镜像仓库、K3S 集群连接配置配置与工作空间隔离升级构建环境、更新集群配置不丢失统一版本管理cache缓存前端 node 依赖、后端 maven 依赖提升构建速度定期清理过期缓存避免磁盘占用过高不影响正式制品与容器部署资源logs记录每一次构建、发布、K3S容器部署、报错日志方便排查流水线与集群异常开启日志按天切割、自动压缩清理保留近30天日志区分宿主机部署、容器部署日志6.3 CI/CD 目录一键生成命令mkdir -p /opt/cicd/{jenkins,gitlab,workspace,artifacts,config,script,cache,logs,temp,k3s-release} \ /opt/cicd/jenkins/{data,config,logs,backup} \ /opt/cicd/gitlab/{data,config,logs,backup} \ /opt/cicd/workspace/{frontend,backend} \ /opt/cicd/artifacts/{frontend,backend} \ /opt/cicd/config/{pipeline,env} \ /opt/cicd/k3s-release/{image-build,yaml-temp,rollback}6.4 CI/CD 目录选址逻辑对齐全文规范语义合规/opt 为系统非必需的自定义业务目录CI/CD 自动化属于业务运维工具完全契合 optOptional 设计语义不侵入系统内核目录全局统一前端/后端/K3S/CI/CD 全部收敛在 /opt形成完整业务闭环目录层级统一、运维逻辑一致全场景闭环前端/后端/K3S容器/CI/CD流水线全部收敛在 /opt宿主机部署、容器化部署双模式目录独立、规范统一无场景遗漏6.5 CI/CD 发布联动规范核心闭环流水线发布路径严格对齐前文部署目录实现构建→归档→发布闭环前端/opt/cicd/artifacts/frontend 制品 → 发布至 /opt/frontend/{项目名}/dist宿主机Nginx托管后端主机部署/opt/cicd/artifacts/backend 制品 → 发布至 /opt/backend/{项目名}/appK3S容器部署CI/CD 构建前后端镜像、推送镜像仓库 → 读取 /opt/cicd/k3s-release 配置 → 动态更新 /opt/k3s/apps 业务YAML → K3S集群重载完成部署、扩容、回滚全流程6.6 CI/CD 专属权限规范沿用最小权限原则统一运维账号避免 root 运行流水线useradd -s /sbin/nologin cicduser chown -R cicduser:cicduser /opt/cicd七、文件分类存放总规范统一收口文件类型前端存放路径后端存放路径K3S容器存放路径系统配置路径业务程序/静态资源/opt/frontend/项目名/dist/opt/backend/项目名/app容器内部镜像打包不存放业务程序自定义配置文件/opt/frontend/项目名/config/opt/backend/项目名/config/opt/k3s/apps/*/etc全局组件配置运行日志/opt/frontend/项目名/logs/opt/backend/项目名/logs/opt/k3s/logs/var/log系统日志启停/部署脚本/opt/frontend/项目名/script/opt/backend/项目名/script/opt/k3s/script不存放业务脚本备份文件/opt/frontend/项目名/backup/opt/backend/项目名/backup手动归档服务器备份目录无持久化数据无需持久化/opt/backend/项目名/data/opt/k3s/volume/*无八、上线避坑核对清单前后端K3S通用✅ Vue静态资源、后端Jar包、K3S容器配置全部存放 /opt 业务目录不侵入系统目录✅ 前端Nginx配置独立业务目录通过软链接引入全局配置不修改系统默认配置✅ 前后端配置文件与程序包物理分离升级迭代不覆盖配置✅ K3S业务yaml清单分类存放与集群基础组件配置隔离✅ 所有正式业务不存 /tmp、/root杜绝文件丢失、权限泄露风险✅ 生产环境使用独立业务用户运行服务禁止root常驻运行业务、容器进程✅ 日志目录独立配置开启自动切割清理防止磁盘占满宕机✅ 容器持久化目录单独挂载避免容器重建导致数据丢失