实例:使用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 是否注释 # ...
随机推荐
- BUAA_2020_OO_UNIT2_REVIEW
OO第二单元总结 1. 设计策略 总的来说,三次作业没有大的重构,都是使用了多线程进行电梯调度,输入线程和运行线程分离,主要的不同在于三次电梯调度器线程的数量有所不同,第一次为一个,第二次为n个,第三 ...
- ES6转ES5(Babel转码器)
ES6转ES5(Babel转码器) 前提:必须在VScode中已经安装了Node.js 官网:https://nodejs.org/en/ 一.安装命令行转码工具 npm install --glob ...
- Go 包管理与依赖查找顺序
目录 1. 规则: 2. 编译时的依赖包查找机制 3.vendor vendor的层级搜索 4. modules 1. 规则: 同一目录下只能存在一个包 目录和目录下源文件的包命名可以不同 当包名与目 ...
- 为什么 DNS 协议使用 UDP?只使用了 UDP 吗?
尽人事,听天命.博主东南大学硕士在读,携程 Java 后台开发暑期实习生,热爱健身和篮球,乐于分享技术相关的所见所得,关注公众号 @ 飞天小牛肉,第一时间获取文章更新,成长的路上我们一起进步 本文已收 ...
- Spring(11) - Introductions进行类扩展方法
Introductions(引用),在 Aspect 中称为类型间的声明,使切面能够声明被通知的对象(拦截的对象)实现给定的接口,并提供该接口的实现. 简单点说可以将一个类的实现方法复制到未实现的类中 ...
- NumPy之:数据类型
目录 简介 数组中的数据类型 类型转换 查看类型 数据溢出 简介 我们知道Python中有4种数字类型,分别是int,float,bool和complex.作为科学计算的NumPy,其数据类型更加的丰 ...
- 1022 Digital Library
A Digital Library contains millions of books, stored according to their titles, authors, key words o ...
- 【Nginx(一)】Centos下 Nginx环境搭建
Nginx环境搭建 系统环境: 腾讯云 Linux Centos7 1.下载nginx压缩包 ,上传到腾讯云服务器 http://nginx.org/en/download.html 或者使用dock ...
- Mysql 8.0安装
1. 下载安装包至/usr/local目录下 下载地址:https://cdn.mysql.com/Downloads/MySQL-8.0/mysql-8.0.16-el7-x86_64.tar.gz ...
- Docker怎么实现容器之间的通信?
//TODO 参考资料: https://developer.aliyun.com/article/55912 https://blog.csdn.net/u011541946/article/det ...