Ansible Playbook 基础与流程控制--005篇
文章目录一、整体目录结构(企业标准)二、核心文件详解(逐文件讲解)1️⃣ defaults/main.yml(对外暴露参数)2️⃣ vars/main.yml(企业级兜底)3️⃣ tasks/main.yml(统一入口)4️⃣ tasks/install.yml(安装 + 幂等)5️⃣ tasks/configure.yml(主配置模板)6️⃣ tasks/vhosts.yml(多站点核心)7️⃣ tasks/security.yml(合规必做)8️⃣ handlers/main.yml(变更驱动)三、模板文件(Jinja2)nginx.conf.j2(企业级主配置)vhost.conf.j2(多业务通用)四、如何调用(Playbook)五、这个 Role 的企业级特征总结六、下一步你可以选好,我们就选「写一个企业级 nginx Role(可直接投产)」这一项。下面给你的是我在生产环境里真实使用的 Nginx Role 结构,不是 Demo,而是可以直接进 Git、接 CI、上生产的版本。我会按“目录 → 文件 → 设计意图 → 交付结果”来讲,方便你直接照抄落地。一、整体目录结构(企业标准)roles/nginx/ ├── defaults/ │ └── main.yml # ✅ 默认变量(低优先级,可被覆盖) ├── vars/ │ └── main.yml # ❗️强约束变量(高优先级) ├── tasks/ │ ├── main.yml # 入口 │ ├── install.yml # 安装 │ ├── configure.yml # 配置 │ ├── vhosts.yml # 虚拟主机 │ └── security.yml # 安全加固 ├── handlers/ │ └── main.yml # 服务重载/重启 ├── templates/ │ ├── nginx.conf.j2 │ └── vhost.conf.j2 ├── files/ │ └── mime.types # 静态资源(可选) └── meta/ └── main