Ansible Playbook 基础与流程控制 30 例(Nginx 企业级实战)-001篇
📅 2026/7/17 22:26:07
👁️ 阅读次数
📝 编程学习
文章目录
- Ansible Playbook 基础与流程控制 30 例(Nginx 企业级实战)
- 一、基础入门篇(示例 1~10):核心模块与基础语法
- 示例 1:使用 ping 模块验证主机连通性
- 示例 2:使用 yum 模块安装 Nginx
- 示例 3:使用 service 模块启动 Nginx 并设置开机自启
- 示例 4:使用 copy 模块分发静态首页
- 示例 5:使用 file 模块创建目录与设置权限
- 示例 6:使用 lineinfile 修改 Nginx 配置单行
- 示例 7:使用 replace 模块批量替换配置内容
- 示例 8:使用 command 执行 Nginx 版本检查命令
- 示例 9:使用 shell 模块检查 Nginx 配置语法
- 示例 10:使用 uri 模块验证 Nginx 页面可访问
- 二、变量与模板篇(示例 11~15):数据驱动配置
- 示例 11:Playbook 内联变量定义 Nginx 端口
- 示例 12:使用 template 模块渲染 Nginx 配置
- 示例 13:主机变量与组变量差异化配置
- 示例 14:使用 set_fact 动态设置事实变量
- 示例 15:Jinja2 过滤器处理 Nginx 配置列表
- 三、流程控制篇(示例 16~25):条件、循环与错误处理
- 示例 16:when 条件判断 — 按操作系统版本安装 Nginx
- 示例 17:when 多条件组合 — 内存大于 2G 才开启缓存
- 示例 18:loop 标准循环 — 批量安装 Nginx 扩展模块
- 示例 19:循环字典列表 — 批量创建多个虚拟主机
- 示例 20:until 重试循环 — 等待 Nginx 服务启动成功
- 示例 21:block 块级任务分组 — 配置 Nginx 完整链路
- 示例 22:block + rescue 错误处理 — 配置失败自动回滚
- 示例 23:ignore_errors 忽略非关键任务失败
- 示例 24:failed_when 自定义失败条件
- 示例 25:with_sequence 按序号生成站点
- 四、企业级进阶篇(示例 26~30):生产环境最佳实践
- 示例 26:handlers 触发器 — 配置变更才重载
- 示例 27:tags 标签 — 按需执行指定任务
- 示例 28:register + debug 采集并输出 Nginx 状态信息
- 示例 29:pre_tasks 与 post_tasks 部署前后钩子
- 示例 30:完整企业级 Nginx 部署综合实战
- 学习路径总结
Ansible Playbook 基础与流程控制 30 例(Nginx 企业级实战)
本文档以Nginx为统一实操载体,设计 30 个由浅入深的 Playbook 示例,覆盖 Ansible 核心基础语法、变量、模板、条件判断、循环、错误处理等企业级常用技能。每个示例均包含:核心理论 → 完整 Playbook → 执行命令 → 交付验证,可直接复制运行。
实验前提:已配置 Ansible 控制节点与受控节点(CentOS 7/8 或 RHEL 系列),已配置 SSH 免密登录与 sudo 权限,inventory 中主机组名为
webservers。
一、基础入门篇(示例 1~10):核心模块与基础语法
示例 1:使用 ping 模块验证主机连通性
理论点:ping模块是 Ansible 最基础的连通性测试模块,验证 SSH 连接与 Python 环境是否正常。
# 01_ping_test.yml---
编程学习
技术分享
实战经验