在现代IT运维中,自动化已成为提升效率、减少人为错误的关键手段。而 Ansible 正是一款简单、强大且无需在目标主机安装代理的自动化工具。本文将带你从零开始,学习如何在 Ubuntu 系统上编写和运行 Ansible 剧本(Playbook),实现服务器的自动化配置与管理。

一、什么是Ansible剧本?
Ansible 剧本(Playbook)是用 YAML 语言编写的配置文件,用于定义一系列自动化任务。你可以把它理解为“操作说明书”——告诉 Ansible 要在哪些服务器上执行什么命令、安装哪些软件、修改哪些配置等。
使用 Ubuntu Ansible剧本编写,可以轻松批量部署 Web 服务、数据库、安全策略等,特别适合 DevOps 和系统管理员。
二、准备工作
在开始编写剧本前,请确保以下条件已满足:
一台运行 Ubuntu 的控制机(Control Node) 至少一台目标 Ubuntu 服务器(Managed Node) 控制机与目标机之间可通过 SSH 通信1. 在控制机上安装 Ansible
打开终端,执行以下命令:
sudo apt updatesudo apt install ansible -y
2. 配置SSH免密登录
Ansible 通过 SSH 连接目标服务器,建议配置 SSH 公钥认证以避免每次输入密码。
# 生成密钥(如尚未生成)ssh-keygen -t rsa -b 4096# 将公钥复制到目标服务器(假设目标IP为192.168.1.100)ssh-copy-id user@192.168.1.100
三、编写第一个Ansible剧本
现在我们来创建一个简单的剧本,用于在目标 Ubuntu 服务器上安装 Nginx 并启动服务。
1. 创建项目目录
mkdir ~/ansible-democd ~/ansible-demo
2. 编写Inventory文件
Inventory 文件用于定义目标主机。创建
hosts.ini:
[webservers]192.168.1.100 ansible_user=ubuntu
其中
webservers是主机组名,IP 地址替换为你自己的目标服务器地址,
ansible_user指定登录用户。
3. 编写Playbook文件
创建
install_nginx.yml文件:
---- name: 安装并启动 Nginx Web 服务器 hosts: webservers become: yes tasks: - name: 更新 apt 缓存 apt: update_cache: yes - name: 安装 Nginx apt: name: nginx state: present - name: 启动 Nginx 服务 service: name: nginx state: started enabled: yes
这段代码含义如下:
hosts: webservers:指定在哪个主机组执行
become: yes:以 root 权限执行(相当于 sudo) 三个
tasks分别完成:更新软件源、安装 Nginx、启动并设置开机自启
四、运行Ansible剧本
在项目目录下执行以下命令:
ansible-playbook -i hosts.ini install_nginx.yml
如果一切顺利,你会看到绿色的 “changed” 或 “ok” 状态,表示任务成功执行。此时访问目标服务器的 IP 地址,应能看到 Nginx 默认欢迎页。
五、常见问题与技巧
权限问题:确保使用become: yes执行需要 root 权限的操作。 YAML格式敏感:缩进必须使用空格(不能用 Tab),否则会报错。 调试技巧:添加
-v或
-vvv参数可查看详细输出。
六、结语
通过本教程,你已经掌握了 Ubuntu Ansible剧本编写 的基本流程。无论是部署应用、配置防火墙,还是批量更新系统,Ansible 都能帮你高效完成。
作为 Ansible自动化运维 的入门者,建议多练习编写不同场景的 Playbook,逐步掌握模块(如 copy、template、file 等)的使用。同时,结合 Ubuntu服务器配置 的实际需求,你将快速成长为一名高效的运维工程师。
希望这篇 Ansible入门教程 对你有所帮助!如有疑问,欢迎在评论区交流。
