首页 > 编程语言 >ansible-playbook批量安装httpd,按主机名提供不同的index.html(如node1的index.html欢迎页面为welcome node1)

ansible-playbook批量安装httpd,按主机名提供不同的index.html(如node1的index.html欢迎页面为welcome node1)

时间:2023-10-08 09:56:09浏览次数:42  
标签:index name httpd data ansible html node1 root yml

[root@ansible ~]# vim /etc/ansible/hosts
[webservers]
10.0.0.150 ansible_connection=local
10.0.0.160 

#创建角色相关目录
[root@ansible html]# mkdir -pv /data/ansible/roles/httpd/{tasks,handlers,files}
mkdir: created directory '/data/ansible'
mkdir: created directory '/data/ansible/roles'
mkdir: created directory '/data/ansible/roles/httpd'
mkdir: created directory '/data/ansible/roles/httpd/tasks'
mkdir: created directory '/data/ansible/roles/httpd/handlers'
mkdir: created directory '/data/ansible/roles/httpd/files'

#创建角色相关文件
[root@ansible html]# cd /data/ansible/roles/httpd/

#main.yml是task的入口文件
[root@ansible httpd]# vim tasks/main.yml
- include: group.yml
- include: user.yml
- include: install.yml
- include: config.yml
- include: index.yml
- include: service.yml

[root@ansible httpd]# vim tasks/group.yml
- name: create apache group
  group: name=apache system=yes gid=80

[root@ansible httpd]# vim tasks/user.yml
- name: create apache user
  user: name=apache system=yes shell=/sbin/nologin home=/var/www/ uid=80 group=apache

[root@ansible httpd]# vim tasks/install.yml
- name: install httpd package
  yum: name=httpd

[root@ansible httpd]# vim tasks/config.yml
- name: config file
  copy: src=httpd.conf  dest=/etc/httpd/conf/ backup=yes
  notify: restart

[root@ansible httpd]# vim tasks/index.yml
 - name: index.html
  copy: content='{{ ansible_hostname }}\n'  dest=/var/www/html/index.html

[root@ansible httpd]# vim tasks/service.yml
- name: start httpd service
  service: name=httpd state=started enabled=yes

[root@ansible httpd]# vim handlers/main.yml
- name: restart
  service: name=httpd state=restarted

#file目录下准备httpd.conf配置文件
[root@ansible httpd]# ls files/httpd.conf
files/httpd.conf

[root@ansible httpd]# tree /data/ansible/roles/httpd/
/data/ansible/roles/httpd/
├── files
│   └── httpd.conf
├── handlers
│   └── main.yml
└── tasks
    ├── config.yml
    ├── group.yml
    ├── index.yml
    ├── install.yml
    ├── main.yml
    ├── service.yml
    └── user.yml
3 directories, 9 files

#在playbook中调用角色
[root@ansible ~]# vim /data/ansible/role_httpd.yml
- hosts: webservers
  remote_user: root

  roles:
    - httpd

#运行playbook
[root@ansible ~]# ansible-playbook  /data/ansible/role_httpd.yml

#验证:
[root@ansible ~]# curl 10.0.0.150
ansible
[root@ansible ~]# curl 10.0.0.160
node1

标签:index,name,httpd,data,ansible,html,node1,root,yml
From: https://www.cnblogs.com/tanll/p/17748189.html

相关文章

  • html svg图片 如何不保持横纵比
    图片不保持横纵比是一件很烦的事背景图我们可以使用background-size图片可以使用object-fit来保持横纵比但有时svg图片要不保持横纵比明明指定了宽高也没有用原来矢量图天生就是锁定了横纵比那怎么让svg不保持横纵比呢使用preserveAspectRatio:none<svgpreserveAspectRat......
  • HTML一键打包工具1.9.92更新发布, 支持串口通信,获取mac地址,自定义header等新功能
    HTML一键打包EXE工具(HTML封装EXE,桌件)是一款神奇的工具,它可以让您把任何HTML项目(网址)变成一个独立的EXE文件,无需安装浏览器和服务器,只要双击就能运行。无论您是想制作KRPano全景VR项目,还是想开发WebGL游戏项目(Egret游戏打包,Cocos游戏打包,RPGMVMaker游戏打包),或者是想创建......
  • getRefs is undefined html vue2项目 报错
    vue2项目提示getRefsisundefined在div上面写了,ref,还写了v-if然后再watch中操作了ref导致报错。分析:组件因为v-if为false没有注册和渲染,在操作的时候还使用了this.$refs函数就会获取不到解决办法:v-if换成v-show ......
  • html占位符
     &#32; 普通的英文半角空格&#160;&nbsp;普通的英文半角空格但不换行&#12288; 中文全角空格(一个中文宽度)&#8194;&ensp;en空格(半个中文宽度)&#8195;&emsp;em空格(一个中文宽度)&#8197;......
  • Ansible playbook实现apache批量部署,并对不同主机提供以各自IP地址为内容的index.htm
    [root@ansible~]#vim/etc/ansible/hosts[webservers]10.0.0.150ansible_connection=local10.0.0.160#创建角色相关目录[root@ansiblehtml]#mkdir-pv/data/ansible/roles/httpd/{tasks,handlers,files}mkdir:createddirectory'/data/ans......
  • html表单与框架
    1.以form开头其中常用的属性有 action="" method="" enctype="" name="" action:属性用来设置接收和处理浏览器递交的表单内容的服务器程序的URL method:属性用来定义浏览器将表单中的信息提交给服务器端的处理程序的方式,取值可以为:GET或POST. enctype:属性指示浏览......
  • 通过freemarker与itext实现html转pdf
    因果因一些合同、发票等单据需要生成pdf文档,并且审核通过后需给该pdf文档盖章,所以需要生成pdf的解决方案。实践中遇到的问题其实单独使用itext也可以实现pdf的生成,但通过文本域进行实现数据的动态替换存在局限性,如动态表格就不能友好的进行动态生成,生成了也是个绝对定位,假如文......
  • html 全选或全不选小案例
    lf你爱好的运动是?全选/全不选足球篮球羽毛球乒乓球  <!DOCTYPEhtml><html><head><metacharset="utf-8"/><title>lf</title><scripttype="text/javascript">functionselectAllOrNo(){varchoice=docume......
  • HTML+CSS随笔
    这是我的学习笔记,重点是我容易忘的内容,并不全面配合以下内容学习就很全面了黑马程序员pink老师前端入门教程HTMLHTML文件基础结构解析<!DOCTYPEhtml><htmllang="zh-han"><head><metacharset="UTF-8"><metaname="viewport"content="width=devic......
  • htmlunit 模拟登入、点击、获取页面信息
    本文介绍了htmlunit模拟登入、点击、获取页面信息的demopublicstaticStringgetHtml(Stringurl){System.out.println("****************开始执行****************");//模拟一个浏览器@SuppressWarnings("resource")WebClientwebClien......