自动化运维ansible一键部署httpd

本文介绍了如何使用Ansible的Playbook以YAML语言编写任务剧本,实现自动化部署和配置Apache HTTPD服务。包括安装、配置服务、创建测试页面、管理配置文件、端口更改、防火墙策略、模板渲染以及用户管理,并强调了YAML的书写规范和加密用户信息的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Playbook(任务剧本):编排定义ansible任务集的配置文件,由ansible顺序依次执行,通常是JSON格式的* YML文件。playbooks的详细配置书写,可访问ansible官网:ansible官网的playbook模块

YAML语言:YAML是一个类似 XML、JSON 的标记性语言。YAML 强调以数据为中心,并不是以标识语言为重点。因而 YAML 本身的定义比较简单,号称“一种人性化的数据格式语言”

YAML语言简单书写规范

  • 使用“#”来表示注释内容
  • 使用空格作为嵌套缩进工具。通常建议使用两个空格缩进,不建议使用 tab (甚至不支持)
  • 序列表示
“-”(横线) + 单个空格表示单个列表项
文档开始
  • 键值表:使用 “:”(冒号) + 空格表示单个键值对

实验

实验环境接上一篇博客

  • 由于yaml语言的特殊性,所以先在家目录下创建文件,将tab键摄制成代表两个字符:
    autocmd filetype yaml setlocal ai ts=2 sw=2 et
    在这里插入图片描述
  • 用yaml语言安装并配置apache
  • 在ansible文件下便编辑playbook.yml文件:
    给webservers组的主机安装和开启httpd服务 在这里插入图片描述
  • 检验是否有语法错误
    在这里插入图片描述
  • 查看playbook的内容
    在这里插入图片描述
  • 没有语法错误后推送,没有报错则推送成功
    在这里插入图片描述
  • 此时查看server2上的httpd端口
    在这里插入图片描述
  • 编辑playbook.yml文件,创建测试页面index.html
    在这里插入图片描述
  • 推送
    在这里插入图片描述
  • 查看是否成功
    在这里插入图片描述
  • 查看信息用来编辑playbook:查看主机
    在这里插入图片描述
  • 在ansible目录下创建files目录,并将httpd的配置文件httpd.conf文件拷贝到该目录下
    在这里插入图片描述
  • 将配置文件信息编辑到playbook文件中
    在这里插入图片描述
  • 推送
    在这里插入图片描述
  • 此时查看两端文件的加密串一样
    在这里插入图片描述
    在这里插入图片描述
  • 编辑playbook.yml文件,添加重启httpd的服务,如果配置文件修改,则重启httpd
    在这里插入图片描述
  • 修改httpd的端口为8080
    在这里插入图片描述
  • 推送playbook.yml
    在这里插入图片描述
  • 查看server2上的httpd端口变为8080
    在这里插入图片描述
  • 将firewalld添加httpd策略
    在这里插入图片描述
  • 将端口重新变回80端口
    在这里插入图片描述
  • 推送
    在这里插入图片描述
  • 测试访问server2和server3皆成功
    在这里插入图片描述
  • 因为此时访问server2和3都是同样的页面,不便于区分,所以可以调用其hostname来区分
    在这里插入图片描述
  • 测试
    在这里插入图片描述
  • 也可以调用其ip地址
    在这里插入图片描述
  • 测试
    在这里插入图片描述
  • 可以以某一个任务单独执行
    在这里插入图片描述
    在这里插入图片描述
  • 端口的更改可以以调用变量的形式来修改,不用每次再修改配置文件
    在这里插入图片描述
  • 更改配置文件为httpd.conf.j2
    在这里插入图片描述
    在这里插入图片描述
  • 推送不报错,则修改成功
    在这里插入图片描述
  • 查看server2上的httpd服务端口已经更改
    在这里插入图片描述
  • 设置httpd服务为开机自启
    在这里插入图片描述
  • 在server2上查看
    在这里插入图片描述
  • template模板
  • 在ansible目录下创建hostinfo.yml文件
    在这里插入图片描述
  • 创建templates目录,在该目录下创建info.j2文件
    在这里插入图片描述
  • 查看语法是否有错误,并推送
    在这里插入图片描述
  • 查看文件和文件内容(主机信息)
    在这里插入图片描述
  • 编辑install.yml文件给主机分类安装不同的软件或者服务
    在这里插入图片描述
  • 查看语法是否有错误,并推送
    在这里插入图片描述
  • 在server2和3上的端口信息,判断是否安装成功
    在这里插入图片描述
    在这里插入图片描述
  • 通过变量的形式更改解析文件
  • 将/etc/hosts文件拷贝到templates目录下,并修改
    在这里插入图片描述
  • 编辑hostinfo.yml文件,将信息加入
    在这里插入图片描述
  • 推送
    在这里插入图片描述
  • 在server2上查看
    在这里插入图片描述
  • 用户信息加密
  • 编辑添加用户的yml文件
    在这里插入图片描述
  • 推送执行,则用户创建成功
    在这里插入图片描述
  • 也可以将用户信息存储到一个文件,用来调用添加
    在这里插入图片描述
  • 推送添加成功
    在这里插入图片描述
    在这里插入图片描述
  • 因为此时任何人都可以看到用户名和密码,很不安全,所以对文件进行加密
    在这里插入图片描述
    在这里插入图片描述
  • 此时看看文件,已经加密了
    在这里插入图片描述
  • 当然也可以进行解密操作
    在这里插入图片描述
  • 编辑文件,将用户密码加密
    在这里插入图片描述
  • 给adduser.yml也添加密码,进行加密操作
    在这里插入图片描述
  • 此时查看用户和密码已经加密
    在这里插入图片描述
  • 文件也进行了加密
    在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值