一、安装环境配置

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. python基础(四):切片和索引

    Python中的序列有元组.列表和字符串,因此我们都可以通过索引和切片的方式,来获取其中的元素. 索引 Python中的索引,对于正向索引,都是从0开始的.但是对于反向索引,确实从-1开始的.如图所示 ...

  2. spring-cloud-consul 服务注册发现与配置

    下面是 Spring Cloud 支持的服务发现软件以及特性对比(Eureka 已停止更新,取而代之的是 Consul): Feature euerka Consul zookeeper etcd 服 ...

  3. Kafka分片存储、消息分发和持久化机制

    Kafka 分片存储机制 Broker:消息中间件处理结点,一个 Kafka 节点就是一个 broker,多个 broker 可以组成一个 Kafka集群. Topic:一类消息,例如 page vi ...

  4. 4. Linux-startx命令

    Linux系统startx命令的功能和使用方法 Linux系统命令startx的功能很简单,就是启动X Window的服务这一项,没有其他的了.其实startx命令启动的是xinit,然后再由xini ...

  5. SQL Server 审计(Audit)

    审计(Audit)用于追踪和记录SQL Server实例,或者单个数据库中发生的事件(Event),审计运作的机制是通过捕获事件(Event),把事件包含的信息写入到事件日志(Event Log)或审 ...

  6. 绕过阿里云waf进行mysql limit注入证明

    朋友发了我一个站点,来看看吧,是limit注入,不太常见.搞一搞吧. POST /Member/CompanyApply/lists HTTP/1.1 Host: * Content-Length: ...

  7. HttpContext访问的正确姿势

    本文章转发自:https://www.cnblogs.com/tianqing/p/12570801.html 使用HttpContext的具体场景: 1. 在Controller层访问HttpCon ...

  8. 1-3 Postman 注册账号与登录

    1.为什么要注册postman账号 注册postman账号是免费的.当注册并登陆一个postman账号后,用户可以获得如下权限. (1)同步和备份历史,集合,环境,和预置头. (2)可以轻松的处理来自 ...

  9. 【JDK8】Java8 新增BASE64加解密API

    什么是Base64编码? Base64是网络上最常见的用于传输8Bit字节码的编码方式之一,Base64就是一种基于64个可打印字符来表示二进制数据的方法 基于64个字符A-Z,a-z,0-9,+,/ ...

  10. 【SpringBoot】SpringBoot集成jasypt数据库密码加密

    一.为什么要使用jasypt库? 目前springboot单体应用项目中,甚至没有使用外部配置中心的多服务的微服务架构的项目,开发/测试/生产环境中的密码往往是明文配置在yml或properties文 ...