首页 > 其他分享 >Ansible playbook实现apache批量部署,并对不同主机提供以各自IP地址为内容的index.html

Ansible playbook实现apache批量部署,并对不同主机提供以各自IP地址为内容的index.html

时间:2023-10-07 15:11:39浏览次数:35  
标签:index name httpd data ansible html IP地址 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_default_ipv4.address }}\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
10.0.0.150
[root@ansible ~]# curl 10.0.0.160
10.0.0.160

标签:index,name,httpd,data,ansible,html,IP地址,root,yml
From: https://www.cnblogs.com/tanll/p/17746352.html

相关文章

  • 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......
  • 如何解决网络中IP地址发生冲突故障?
    晚上好,我的网工朋友网络已经和我们的生活息息相关,网络规模的不断扩大,相应的IP地址分配也在不断增多。IP地址冲突这事儿屡见不鲜了,它会在一定程度上影响网络的正常运行。维护网络稳定、高效运行,解决IP地址冲突问题,已成为网络管理中的重要任务之一。那么,发生IP冲突的原因是什么?怎么解......
  • 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......
  • HTML图片和文本居中对齐
    原理比较简单就不上图片了你也许听说过在行元素中使用vertical-align:middle;可以实现居中对其,但实际使用上,常常没有作用。其实行元素有四条线分别是:顶线中线基线底线默认行元素是基线对齐的(两个元素的基线在同一高度)下面代码相当于图片的基线和文字的中线对齐(图片的......
  • Linux的两种IP地址
    在Linux中,0.0.0.0和127.0.0.1是两个不同的IP地址,它们具有不同的含义和用途:0.0.0.0:0.0.0.0是一个特殊的IP地址,通常用于表示"任意"或"所有可用"的本地网络接口。当一个服务(如服务器应用程序)绑定到0.0.0.0时,它会监听所有本地网络接口上的请求。这意味着它会接受来自任何本地网......
  • Linux如何查看公网ip地址
    https://baijiahao.baidu.com/s?id=1733450331822333849&wfr=spider&for=pccurl%20http://ifconfig.io对于任何一台Linux服务器,想要让所有服务器都能够进行网络通信,那么是如何通信的呢?这个时候ip地址和网卡发挥了很大的作用,IP地址就像我们的身份证一样能够唯一识别出具体的设备......
  • 【HTML专栏3】!DOCTYPE、lang、字符集的作用
    本文属于HTML/CSS专栏文章,适合WEB前端开发入门学习,详细介绍HTML/CSS如果使用,如果对你有所帮助请一键三连支持,对博主系列文章感兴趣点击下方专栏了解详细。博客主页:DuckBro博客主页系列专栏:HTML/CSS专栏关注博主,后期持续更新系列文章如果有错误感谢大家批评指出,一定及时修改感谢......