实例:使用playbook实现httpd安装、配置、以及虚拟主机的配置
一、安装环境配置
1、在控制节点给受控主机配置本地仓库文件
[root@ansible ~]# vim /etc/yum.repos.d/dvd.repo
[AppStream]
name=appstream
baseurl=file:///mnt/AppStream
gpgcheck=0
enabled=1 [baseOS]
name=baseos
baseurl=file:///mnt/BaseOS
gpgcheck=0
enabled=1
2、配置变量
//在/etc/ansible/roles目录下创建vars.yaml文件
[root@ansible ~]# cd /etc/ansible/roles/
[root@ansible roles]# vim vars.yaml
[root@ansible roles]# cat vars.yaml
client_ip: 192.168.121.81
client_ip_80: port_80
client_ip_81: port_81
3、配置虚拟主机模板
//先在控制节点安装httpd
[root@ansible ~]# yum install -y httpd //配置vhost.conf
[root@ansible ~]# cp /usr/share/doc/httpd/httpd-vhosts.conf /etc/ansible/roles/httpd-vhosts.conf.j2
[root@ansible ~]# vim /etc/ansible/roles/httpd-vhosts.conf.j2
..........
<VirtualHost {{ client_ip }}:80>
DocumentRoot "/var/www/html/{{ client_ip_80 }}"
ErrorLog "/var/log/httpd/{{ client_ip_80 }}-error_log"
CustomLog "/var/log/httpd/{{ client_ip_80 }}-access_log" common
</VirtualHost> listen 81
<VirtualHost {{ client_ip }}:81>
DocumentRoot "/var/www/html/{{ client_ip_81 }}"
ErrorLog "/var/log/httpd/{{ client_ip_81 }}-error_log"
CustomLog "/var/log/httpd/{{ client_ip_81 }}-access_log" common
</VirtualHost>
4、配置playbook信息
[root@ansible ~]# vim /etc/ansible/roles/vhosts.yaml
---
- name: Install httpd
hosts: 192.168.121.81
vars_files: /etc/ansible/roles/vars.yaml
tasks:
- name: copy dvd.repo
copy:
src: /etc/yum.repos.d/dvd.repo
dest: /etc/yum.repos.d/dvd.repo - name: mount sr0
mount:
src: /dev/sr0
path: /mnt
state: present
fstype: iso9660 - name: yum makecache
shell: yum makecache - name: isntall httpd service
yum:
name: httpd
state: installed - name: start httpd service
service:
name: httpd
state: started
enabled: yes - name: copy vhosts.conf
template:
src: /etc/ansible/roles/httpd-vhosts.conf.j2
dest: /etc/httpd/conf.d/httpd-vhosts.conf - name: create dir1
shell:
mkdir /var/www/html/{{ client_ip_80 }} - name: create dir2
shell:
mkdir /var/www/html/{{ client_ip_81 }} - name: create file1
shell:
echo "this host port is 80" > /var/www/html/{{ client_ip_80 }}/index.html - name: create file2
shell:
echo "this host port is 81" > /var/www/html/{{ client_ip_81 }}/index.html - name: restart httpd service
service:
name: httpd
state: reloaded - name: pass 80 port
firewalld:
port: 80/tcp
state: enabled
permanent: no - name: pass 81 port
firewalld:
port: 81/tcp
state: enabled
permanent: no
二、执行playbook
1、执行/etc/ansible/roles/vhosts.yaml文件
[root@ansible ~]# ansible-playbook /etc/ansible/roles/vhosts.yaml PLAY [Install httpd] ****************************************************************************************************************************************************** TASK [Gathering Facts] ****************************************************************************************************************************************************
ok: [192.168.121.81] TASK [copy dvd.repo] ******************************************************************************************************************************************************
ok: [192.168.121.81] TASK [mount sr0] **********************************************************************************************************************************************************
ok: [192.168.121.81]
..........
2、检验


实例:使用playbook实现httpd安装、配置、以及虚拟主机的配置的更多相关文章
- httpd基础配置和虚拟主机的配置方法
RedHat6.5 httpd实验的大概步骤 #解包 tar zxf httpd-2.2.17.tar.gz -C /usr/src#切换到目录 cd /usr/src/httpd-2.2.17/# ...
- nginx的基本配置和虚拟主机的配置
在Nginx配置文件(nginx.conf)中,一个最简化的虚拟主机配置代码如下: 跟Apache -样,Nginx也可以配置多种类型的虚拟圭机:一是基于IP的虚拟主机,二是基于域名的虚拟主机,三是基 ...
- apache2 httpd 基于域名的虚拟主机配置 for centos6X 和debian-8
全系统虚拟主机: for debian 系统的apache2 域名 虚拟主机
- apache 虚拟主机详细配置:http.conf配置详解
apache 虚拟主机详细配置:http.conf配置详解 Apache的配置文件http.conf参数含义详解 Apache的配置由httpd.conf文件配置,因此下面的配置指令都是在httpd. ...
- wamp虚拟主机的配置 .
开发环境:WAMP 实例一,Apaceh配置localhost虚拟主机步骤 1,用记事本打开apache目录下httpd文件(如:D:\wamp\bin\apache\apache2.2.8\conf ...
- 虚拟主机的配置、DNS重定向网站
虚拟主机的配置:我用的是localhost本地测试站点+Apache环境 第一步:找到Apache安装目录下的httpd-vhosts.conf文件,然后启用这个文件,如何启用这个文件呢?当然是在ht ...
- PHP中级篇 Apache配置httpd-vhosts虚拟主机总结及注意事项[OK]
经常使用Apache虚拟主机进行开发和测试,但每次需要配置虚拟主机时都习惯性的ctrl+c和ctrl+v,这次由于重装系统,需要配置一个新的PHP开发环境虚拟主机,于是总结一下Apaceh配置http ...
- 配置Apache虚拟主机
实验环境 一台最小化安装的CentOS 7.3虚拟机 配置基础环境 1. 安装apache yum install -y httpd 2. 建立虚拟主机的根目录 mkdir /var/wwwroot ...
- 配置Tomcat监听80端口、配置Tomcat虚拟主机、Tomcat日志
6月27日任务 16.4 配置Tomcat监听80端口16.5/16.6/16.7 配置Tomcat虚拟主机16.8 Tomcat日志扩展邱李的tomcat文档 https://www.linuser ...
- Apache httpd.conf配置文件 3(虚拟主机)
### Section 3: Virtual Hosts 第三部分 虚拟主机 注意:在使用虚拟主机前,请先检查 http.conf 的 辅助配置文件httpd-vhosts.conf 是否注释 # ...
随机推荐
- Azure DevOps 跨账号连接 Azure 服务
一,引言 由于新申请的 Azure DevOps 账号中的私有项目不在享受托管代理提供的1800分钟的免费时间,又不想花钱付费,那我们只能另想版本解决没有并行作业的问题. -------------- ...
- vue+quasar+electron+springboot+mysql撸一个TODO LIST 看板
先看效果 写本项目的目的有几点: 学习下vue+electron桌面开发 学习下java和spring开发(本人一直使用PHP) 一直缺少一款能适合自己的TODO LIST软件,能有桌面端的 可直接打 ...
- BUAA_2020_OO_UNIT1_REVIEW
OO第一单元总结 一.程序结构分析 总的来说,这一学期我才开始正式的接触面向对象的思想,直到pre才开始正式的实践,所以这次作业可能写的有一些混乱,第三次作业也进行了大量重构. 1. 第一次作业 关于 ...
- 火爆外网的 DGS 框架使用
Netflix 已开放其 Domain Graph Service(DGS)框架的源代码 ,该框架是为了方便整合 GraphQL 使用,用于简化 GraphQL 的实现. GraphQL 主要是作用于 ...
- 大学四年,总结一套适合小白的Java自学路线和方法
前言篇 大家好,我是bigsai 好久不见,甚是想念,文章同时收录在回车课堂(文底阅读原文可达). 无论你是大学生还是在职人员,想学Java时,都会面临两个选择,自学或者报班.报班通常太费钱,时间又不 ...
- redhat7.6 安装java和tomcat
使用yum 安装java # 首先查看是否安装yum rpm -qa | grep yum yum-3.4.3-161.el7.noarch # 显示这个表示已经安装了. # 查看是否安装java,没 ...
- 孙悟空的身外身法术使用了Java设计模式:原型模式
目录 定义 意图 主要解决问题 何时使用 优缺点 结构 简单形式的原型模式 登记形式的原型模式 两种形式比较 浅克隆和深克隆 孙悟空的身外身法术 浅克隆实现 深克隆实现 定义 原型模式属于对象的创建型 ...
- HashMap、ConcurrentHashMap 1.7和1.8对比
本篇内容是学习的记录,可能会有所不足. 一:JDK1.7中的HashMap JDK1.7的hashMap是由数组 + 链表组成 /** 1 << 4,表示1,左移4位,变成10000,即1 ...
- Day01_08_变量(Variable)
变量 什么是变量? *变量本质上来说是内存上的一块空间,这块空间有数据类型,有名字,有字面值(数据).变量是内存中存储数据最基本的单元 * 变量要求变量中存储的具体数据必须和变量的数据类型一致,必须先 ...
- ES系列(三):网络通信模块解析
ES是一个分布式搜索引擎,其除了用户提供必要的通信服务外,集群间也必须保持紧密的通信联系,才能在必要的时候给出正确的结果.其则必然涉及到各种繁多且要求高的通信场景,那么如何实现高性能的通信,则是其必须 ...