一、安装环境配置

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安装、配置、以及虚拟主机的配置的更多相关文章

  1. httpd基础配置和虚拟主机的配置方法

    RedHat6.5  httpd实验的大概步骤 #解包 tar zxf httpd-2.2.17.tar.gz -C /usr/src#切换到目录 cd /usr/src/httpd-2.2.17/# ...

  2. nginx的基本配置和虚拟主机的配置

    在Nginx配置文件(nginx.conf)中,一个最简化的虚拟主机配置代码如下: 跟Apache -样,Nginx也可以配置多种类型的虚拟圭机:一是基于IP的虚拟主机,二是基于域名的虚拟主机,三是基 ...

  3. apache2 httpd 基于域名的虚拟主机配置 for centos6X 和debian-8

    全系统虚拟主机: for debian 系统的apache2 域名 虚拟主机

  4. apache 虚拟主机详细配置:http.conf配置详解

    apache 虚拟主机详细配置:http.conf配置详解 Apache的配置文件http.conf参数含义详解 Apache的配置由httpd.conf文件配置,因此下面的配置指令都是在httpd. ...

  5. wamp虚拟主机的配置 .

    开发环境:WAMP 实例一,Apaceh配置localhost虚拟主机步骤 1,用记事本打开apache目录下httpd文件(如:D:\wamp\bin\apache\apache2.2.8\conf ...

  6. 虚拟主机的配置、DNS重定向网站

    虚拟主机的配置:我用的是localhost本地测试站点+Apache环境 第一步:找到Apache安装目录下的httpd-vhosts.conf文件,然后启用这个文件,如何启用这个文件呢?当然是在ht ...

  7. PHP中级篇 Apache配置httpd-vhosts虚拟主机总结及注意事项[OK]

    经常使用Apache虚拟主机进行开发和测试,但每次需要配置虚拟主机时都习惯性的ctrl+c和ctrl+v,这次由于重装系统,需要配置一个新的PHP开发环境虚拟主机,于是总结一下Apaceh配置http ...

  8. 配置Apache虚拟主机

    实验环境 一台最小化安装的CentOS 7.3虚拟机 配置基础环境 1. 安装apache yum install -y httpd 2. 建立虚拟主机的根目录 mkdir /var/wwwroot ...

  9. 配置Tomcat监听80端口、配置Tomcat虚拟主机、Tomcat日志

    6月27日任务 16.4 配置Tomcat监听80端口16.5/16.6/16.7 配置Tomcat虚拟主机16.8 Tomcat日志扩展邱李的tomcat文档 https://www.linuser ...

  10. Apache httpd.conf配置文件 3(虚拟主机)

    ### Section 3: Virtual Hosts 第三部分 虚拟主机 注意:在使用虚拟主机前,请先检查  http.conf 的 辅助配置文件httpd-vhosts.conf 是否注释 # ...

随机推荐

  1. Azure DevOps 跨账号连接 Azure 服务

    一,引言 由于新申请的 Azure DevOps 账号中的私有项目不在享受托管代理提供的1800分钟的免费时间,又不想花钱付费,那我们只能另想版本解决没有并行作业的问题. -------------- ...

  2. vue+quasar+electron+springboot+mysql撸一个TODO LIST 看板

    先看效果 写本项目的目的有几点: 学习下vue+electron桌面开发 学习下java和spring开发(本人一直使用PHP) 一直缺少一款能适合自己的TODO LIST软件,能有桌面端的 可直接打 ...

  3. BUAA_2020_OO_UNIT1_REVIEW

    OO第一单元总结 一.程序结构分析 总的来说,这一学期我才开始正式的接触面向对象的思想,直到pre才开始正式的实践,所以这次作业可能写的有一些混乱,第三次作业也进行了大量重构. 1. 第一次作业 关于 ...

  4. 火爆外网的 DGS 框架使用

    Netflix 已开放其 Domain Graph Service(DGS)框架的源代码 ,该框架是为了方便整合 GraphQL 使用,用于简化 GraphQL 的实现. GraphQL 主要是作用于 ...

  5. 大学四年,总结一套适合小白的Java自学路线和方法

    前言篇 大家好,我是bigsai 好久不见,甚是想念,文章同时收录在回车课堂(文底阅读原文可达). 无论你是大学生还是在职人员,想学Java时,都会面临两个选择,自学或者报班.报班通常太费钱,时间又不 ...

  6. redhat7.6 安装java和tomcat

    使用yum 安装java # 首先查看是否安装yum rpm -qa | grep yum yum-3.4.3-161.el7.noarch # 显示这个表示已经安装了. # 查看是否安装java,没 ...

  7. 孙悟空的身外身法术使用了Java设计模式:原型模式

    目录 定义 意图 主要解决问题 何时使用 优缺点 结构 简单形式的原型模式 登记形式的原型模式 两种形式比较 浅克隆和深克隆 孙悟空的身外身法术 浅克隆实现 深克隆实现 定义 原型模式属于对象的创建型 ...

  8. HashMap、ConcurrentHashMap 1.7和1.8对比

    本篇内容是学习的记录,可能会有所不足. 一:JDK1.7中的HashMap JDK1.7的hashMap是由数组 + 链表组成 /** 1 << 4,表示1,左移4位,变成10000,即1 ...

  9. Day01_08_变量(Variable)

    变量 什么是变量? *变量本质上来说是内存上的一块空间,这块空间有数据类型,有名字,有字面值(数据).变量是内存中存储数据最基本的单元 * 变量要求变量中存储的具体数据必须和变量的数据类型一致,必须先 ...

  10. ES系列(三):网络通信模块解析

    ES是一个分布式搜索引擎,其除了用户提供必要的通信服务外,集群间也必须保持紧密的通信联系,才能在必要的时候给出正确的结果.其则必然涉及到各种繁多且要求高的通信场景,那么如何实现高性能的通信,则是其必须 ...