Linux下安装使用Ansible,自动化运维入门指南
时间:2026-02-25 20:05:50 357浏览 收藏
本文手把手教你如何在Linux(以Ubuntu 22.04为例)中快速安装并实战使用Ansible——这个无需在目标主机部署代理、仅依赖SSH的轻量级自动化运维利器;从apt一键安装与版本验证,到配置SSH免密登录、编写主机清单分组管理,再到用ad-hoc命令即时测试连通性或执行shell指令,最后深入核心,通过简洁清晰的YAML格式Playbook实现如批量安装Nginx等复杂配置任务,助你轻松迈出Linux自动化运维的第一步。

如果您希望在Linux系统中实现自动化运维任务,例如批量管理服务器、部署应用或配置系统,Ansible 是一个无需在目标主机上安装代理的轻量级配置管理工具。以下是安装和使用 Ansible 的详细步骤。
本文运行环境:Dell XPS 13,Ubuntu 22.04
一、安装 Ansible
Ansible 可通过系统的包管理器直接安装,也可以使用 Python 的包管理工具 pip 安装。选择适合您环境的方式进行安装。
1、打开终端,更新软件包索引:sudo apt update。
2、安装 Ansible:sudo apt install ansible -y。
3、验证安装是否成功,输入命令:ansible --version,若显示版本信息则表示安装成功。
二、配置 SSH 免密登录
Ansible 依赖 SSH 协议与远程主机通信,为避免每次执行任务都需要输入密码,需配置本地主机到目标主机的 SSH 免密登录。
1、生成本地 SSH 密钥对(如尚未生成):ssh-keygen -t rsa -b 2048,按回车使用默认路径。
2、将公钥复制到目标主机:ssh-copy-id user@target_host_ip,其中 user 为目标主机用户名,target_host_ip 为 IP 地址。
3、测试 SSH 连接:ssh user@target_host_ip,若无需密码即可登录,则配置成功。
三、编写 Ansible 主机清单
主机清单(Inventory)用于定义 Ansible 管理的目标主机列表。您可以创建自定义清单文件来组织服务器分组。
1、创建清单文件:nano ~/inventory。
2、在文件中添加目标主机信息,例如:
[webservers]
192.168.1.10
192.168.1.11
3、保存并退出编辑器,后续命令可通过 -i ~/inventory 指定该清单文件。
四、执行 Ansible 临时命令
Ansible 提供 ad-hoc 命令功能,可用于快速在远程主机上执行单条指令,适合调试和简单操作。
1、测试所有主机的连通性:ansible all -i ~/inventory -m ping。
2、在指定主机组上执行 shell 命令,例如查看系统信息:ansible webservers -i ~/inventory -m shell -a "uname -r"。
3、以特定用户身份执行命令:ansible webservers -i ~/inventory -u deploy -m shell -a "df -h"。
五、编写并运行 Playbook
Playbook 是 Ansible 的核心配置文件,使用 YAML 格式定义一系列自动化任务,适用于复杂场景的持续部署与配置管理。
1、创建 playbook 文件:nano ~/setup_web.yml。
2、写入以下内容以在目标主机安装 nginx:
---
- name: 安装 Web 服务器
hosts: webservers
tasks:
- name: 确保 nginx 已安装
apt:
name: nginx
state: present
3、运行 playbook:ansible-playbook -i ~/inventory ~/setup_web.yml。
今天关于《Linux下安装使用Ansible,自动化运维入门指南》的内容介绍就到此结束,如果有什么疑问或者建议,可以在golang学习网公众号下多多回复交流;文中若有不正之处,也希望回复留言以告知!
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
166 收藏
-
251 收藏
-
382 收藏
-
410 收藏
-
253 收藏
-
405 收藏
-
202 收藏
-
400 收藏
-
246 收藏
-
376 收藏
-
314 收藏
-
314 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 立即学习 543次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 立即学习 516次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 立即学习 500次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 立即学习 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 立即学习 485次学习