跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客我的书AI学习GitHub 精选镜像AI 生图工具UI配色美学关于
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
Shell / Bash

Ansible 批量部署 Nginx 实战指南

如何使用 Ansible 自动化批量部署 Nginx。首先阐述了 Ansible 的无代理架构、SSH 安全通信、幂等性及 YAML 语法等核心优势。接着演示了在 CentOS7 系统上通过 EPEL 源安装 Ansible 的步骤。最后详细讲解了配置 hosts 文件、编写包含安装 EPEL 源、安装 Nginx 及服务自启任务的 Playbook,并通过命令行执行验证部署结果的全过程,实现了高效、标准化的服务器运维管理。

赛博行者发布于 2026/3/30更新于 2026/9/1176 浏览
Ansible 批量部署 Nginx 实战指南

前言

在运维工作中,面对上百台服务器的批量操作,手动逐台登录、安装、配置不仅耗时耗力,还容易因人为失误导致配置不一致。Ansible 作为一款开源的自动化运维工具,通过 SSH 通信实现无代理架构管理,能够以一条命令完成跨节点的标准化操作,有效解决了大规模基础设施的部署难题。

1. 什么是 Ansible?为何选择 Ansible?

Ansible 旨在简化配置管理、应用部署和任务编排等操作。其核心设计理念是'简单、可靠、无侵入',通过声明式语言实现对大规模基础设施的高效管控。

核心优势:

  • 无代理架构:无需在目标主机上安装额外客户端或代理程序,仅依赖标准 SSH 服务即可完成通信与指令下发。
  • 基于 SSH 的安全通信:利用成熟的 SSH 协议进行连接,天然支持密钥认证、跳板机等企业级安全策略。
  • 幂等性保障:模块设计遵循幂等原则——无论 Playbook 被执行多少次,系统最终状态始终保持一致。
  • YAML 驱动的声明式语法:使用结构清晰、易于阅读的 YAML 格式编写 Playbook,降低学习成本。
  • 丰富的模块生态:内置数千个模块,覆盖操作系统、网络设备、数据库及主流云平台。

2. 在 CentOS7 上安装 Ansible

更新所有系统软件包:

yum update -y

安装 EPEL 仓库(提供 Ansible 包):

yum install -y epel-release

安装 Ansible:

yum install -y ansible

验证是否安装成功:

ansible --version

3. 一键部署 Nginx

确保你在 playbook 所在目录(假设是 /etc/ansible):

cd /etc/ansible

编辑 hosts 文件,加入你所要管理的 IP 及其用户名及密码:

[test]
ip ansible_ssh_user=用户名 ansible_ssh_pass=密码

编辑 playbook yml 文件(例如 3.yml):

---
- name: 在主机上安装并启动 Nginx
  hosts: dbservers
  become: yes
  gather_facts: yes
  tasks:
    - name: 安装 EPEL 软件源(Nginx 依赖)
      yum:
        name: epel-release
        state: present
    - name: 安装 Nginx
      yum:
        name: nginx
        state: present
    - name: 启动 Nginx 服务并设置开机自启
      systemd:
        name: nginx
        state: started
        enabled: yes

然后使用 ansible-playbook 执行:

ansible-playbook -i hosts 3.yml

接下来去目标主机查看一下 Nginx 是否安装成功(例如 192.168.42.146):

rpm -q nginx
systemctl status nginx
ss -tuln | grep ':80'
netstat -tuln | grep ':80'

检查到服务正常后,即可确认一键部署完成。我们可以在 hosts 文件添加上百台主机,皆可以使用 Ansible 命令一键安装。

目录

  1. 前言
  2. 1. 什么是 Ansible?为何选择 Ansible?
  3. 2. 在 CentOS7 上安装 Ansible
  4. 3. 一键部署 Nginx

更多推荐文章

查看全部
  • OpenClaw AI 助手框架搭建与配置指南
  • 基于 SpringBoot 的开源在线教育系统,支持 Web、App、小程序全端使用
  • VLA 机器人技术演进:10 篇视觉 - 语言 - 动作模型核心论文解析
  • 职场人如何利用 AI 提升效率与创造副业收入
  • Qwen3-VL 建筑图纸生成:从草图到 CAD 转换实战
  • Linux 系统下 Git 入门指南:高效管理代码库
  • Git 在 Windows 上的安装与配置详解
  • Java 面试核心:哈希冲突与 equals/hashCode 详解
  • Spring AI 实战:从零开发 IDEA 插件版 AI 代码助手(Java 全栈 + 上下文感知)
  • 开源低代码平台 Microi 吾码:架构、部署与实战指南
  • CISP 核心知识点思维导图汇总:应急响应、安全攻击与防护等
  • 理解MySQL事务隔离:读未提交、读提交、可重复读和串行化
  • 阿里 Qoder AI 编程插件实测:JetBrains IDE 生态新选择
  • IDEA 集成 AI 插件快速构建 Java 全栈功能实战
  • 算法实战:位运算技巧与经典题解
  • Python 内置函数常用示例与用法详解
  • Python 基础入门:20 分钟快速掌握核心语法
  • Coze 工作流基础创建与核心节点实战指南
  • Android 性能优化核心要点与面试实战指南
  • 前端开发中 Failed to fetch 错误的排查与解决

相关免费在线工具

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online

  • Markdown转HTML

    将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online

  • HTML转Markdown

    将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML转Markdown在线工具,online

  • JSON 压缩

    通过删除不必要的空白来缩小和压缩JSON。 在线工具,JSON 压缩在线工具,online

  • JSON美化和格式化

    将JSON字符串修饰为友好的可读格式。 在线工具,JSON美化和格式化在线工具,online