前言
在运维工作中,面对上百台服务器的批量操作,手动逐台登录、安装、配置不仅耗时耗力,还容易因人为失误导致配置不一致。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


