前言
在运维工作中,面对上百台服务器的软件部署,手动逐台登录不仅耗时耗力,还容易因人为失误导致配置不一致。Ansible 的出现有效解决了这一痛点,它无需在目标服务器安装额外代理,通过 SSH 即可实现标准化操作。本文将分享一套完整的 Ansible 自动化部署方案,涵盖本地安装、Playbook 编写以及利用内网穿透工具实现异地远程部署的实战流程。
1. Ansible 简介与核心优势
Ansible 是一款开源的自动化运维工具,旨在简化配置管理、应用部署和任务编排。其核心设计理念是简单、可靠且无侵入。
主要特性:
- 无代理架构:仅依赖标准 SSH 服务即可完成通信,降低系统开销与维护复杂度。
- 基于 SSH 的安全通信:支持密钥认证、跳板机等企业级安全策略。
- 幂等性保障:模块设计遵循幂等原则,确保多次执行后系统状态一致。
- YAML 驱动的声明式语法:结构清晰,易于阅读和维护。
- 丰富的模块生态:覆盖操作系统、中间件及云平台的全场景需求。
2. CentOS 7 环境准备
首先更新系统软件包并安装 EPEL 仓库以获取 Ansible 包。
yum update -y
yum install -y epel-release
安装完成后验证版本信息:
ansible --version
3. 编写 Playbook 部署 Nginx
进入 Ansible 工作目录(假设为 /etc/ansible):
cd /etc/ansible
编辑 hosts 文件,添加目标主机信息。注意格式规范,IP 与参数间需有空格:
[dbservers]
192.168.42.146 ansible_user=root ansible_password=***
创建 Playbook 文件(例如 nginx.yml),注意 YAML 缩进必须严格对齐:
---
- name: 在主机上安装并启动 Nginx
hosts: dbservers
become: yes
gather_facts: yes
tasks:
- name: 安装 EPEL 软件源(Nginx 依赖)
yum:
name:


