ansible-playbook一键化部署apache服务

原创 chaos_oper 最后发布于2019-06-13 21:31:44 阅读数 463 收藏
展开
Playbook(任务剧本)

playbook是简单易用的自动化语言
编排定义ansible任务集的配置文件,由ansible顺序依次执行,通常是JSON格式的* YML文件
playbook是一个非常简单的配置管理和多主机部署系统,不同于任何已经存在的模式,可作为一个适合部署复杂应用程序的基础。Playbook可以定制配置,可以按照指定的操作步骤有序执行,支持同步和异步方式。
实战:playbook一键化部署apache服务

1.配置playbook.yml文件

[[email protected] ansible]$ vim playbook.yml
---
- hosts: webservers
tasks:
- name: install httpd
yum:
name: httpd
state: latest

- name: start httpd
service:
name: httpd
state: started

1
2
3
4
5
6
7
8
9
10
11
12
13

在这里插入图片描述
2.查看playbook.yml部署的任务

[[email protected] ansible]$ ansible-playbook playbook.yml --list-tasks

1

在这里插入图片描述
3.语法检测

[[email protected] ansible]$ ansible-playbook playbook.yml --syntax-check

1

在这里插入图片描述
4.推送

[[email protected] ansible]$ ansible-playbook playbook.yml

1

在这里插入图片描述
5.修改测试页

[[email protected] ansible]$ vim playbook.yml
---
- hosts: webservers
tasks:
- name: install httpd
yum:
name: httpd
state: latest
- name: create index.html
copy:
content: "www.westos.org\n"
dest: /var/www/html/index.html

- name: start httpd
service:
name: httpd
state: started

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17

6.语法检测

[[email protected] ansible]$ ansible-playbook playbook.yml --syntax-check

1

7.推送

[[email protected] ansible]$ ansible-playbook playbook.yml

1

在这里插入图片描述
8.测试
在这里插入图片描述
9.推送httpd.conf配置文件,开机自启

[[email protected] ansible]$ vim playbook.yml
---
- hosts: webservers
tasks:
- name: install httpd
yum:
name: httpd
state: latest
- name: create index.html
copy:
content: "www.westos.org\n"
dest: /var/www/html/index.html

- name: configure httpd
copy:
src: files/httpd.conf
dest: /etc/httpd/conf/httpd.conf
owner: root
group: root
mode: 644
notify: restart httpd

- name: start httpd
service:
name: httpd
state: started
enabled: true

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27

10.将http.conf配置文件放到files目录下

[[email protected] ansible]$ mkdir files
[[email protected] ansible]$ cd files/
[[email protected] files]$ scp server5:/etc/httpd/conf/httpd.conf .
httpd.conf 100% 11KB 11.5KB/s 00:00

1
2
3
4

11.语法检测并推送

[[email protected] ansible]$ ansible-playbook playbook.yml --syntax-check

playbook: playbook.yml
[[email protected] ansible]$ ansible-playbook playbook.yml

1
2
3
4

在这里插入图片描述
12.查看是否同步过去

[[email protected] files]$ md5sum httpd.conf
f5e7449c0f17bc856e86011cb5d152ba httpd.conf
[[email protected] ~]# md5sum /etc/httpd/conf/httpd.conf
f5e7449c0f17bc856e86011cb5d152ba /etc/httpd/conf/httpd.conf

1
2
3
4

13.server2是否开启httpd,并且是开机自启动
在这里插入图片描述
14.火墙允许httpd服务

[[email protected] ansible]$ vim playbook.yml
- name: configure firewalld
firewalld:
service: http
state: enabled
permanent: yes
immediate: yes

1
2
3
4
5
6
7

15.语法检测并部署

[[email protected] ansible]$ ansible-playbook playbook.yml --syntax-check

playbook: playbook.yml
[[email protected] ansible]$ ansible-playbook playbook.yml

1
2
3
4

13.不同虚拟机显示不同的测试页内容

[[email protected] ansible]$ vim playbook.yml

1

在这里插入图片描述

[[email protected] ansible]$ ansible-playbook playbook.yml
[[email protected] ansible]$ curl server5
server5
[[email protected] ansible]$ curl server6
server6

1
2
3
4
5

16.定义httpd端口

[[email protected] ansible]$ vim playbook.yml

1

在这里插入图片描述

[[email protected] ansible]$ vim files/httpd.conf
Listen {{ http_port }}
[[email protected] ansible]$ ansible-playbook playbook.yml

1
2
3

17.检测端口号
在这里插入图片描述
18.修改apache服务的端口为8080
1)建立模版目录templates

[[email protected] ansible]$ mkdir templates

1

2)将模版放到该目录里

[[email protected] ansible]$ mv files/httpd.conf.j2 templates/

1

3)修改playbook.yml文件

[[email protected] ansible]$ vim playbook.yml

1

在这里插入图片描述
在这里插入图片描述
4)推送

[[email protected] ansible]$ ansible-playbook playbook.yml

1

5)查看配置文件是否修改成功
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

点赞 1
收藏
分享

chaos_oper
发布了124 篇原创文章 · 获赞 144 · 访问量 4万+
私信
关注
————————————————
版权声明:本文为CSDN博主「chaos_oper」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/chaos_oper/java/article/details/91894524

原文地址:https://www.cnblogs.com/boshi-007/p/12584050.html

时间: 2024-10-13 23:39:37

ansible-playbook一键化部署apache服务的相关文章

rsync软件服务利用ansible实现一键化部署

首先创建一个脚本文件 /server/tools/peizhi.sh cat  /server/tools/peizhi.sh cat >>/etc/rsyncd.conf<<EOF#luo##paichu.sh## uid = rsyncgid = rsyncuse chroot = nomax connections = 200timeout = 300pid file = /var/run/rsyncd.pidlock file = /var/run/rsync.locklo

运维自动化之ansible playbook一键化解决大量主机bash更新问题

今天发现有bash漏洞,但我这里近1000台服务器,为了方便.省时间,觉得使用ansible安装bash更新包,下面分享一下我的安装方法. 1.安装的playbook的内容 19:00:03 # cd /etc/ansible [email protected]:/etc/ansible 19:00:06 # cat update_bash.yml  --- - hosts: "{{ host }}"   remote_user: "{{ user }}"   ga

原创 :nfs软件服务利用ansible实现一键化部署

[[email protected] tools]# cat nfspeizhi.shcat >>/etc/exports<<EOF /data 172.16.1.0/24(rw,sync)EOF - hosts: 172.16.1.131 #服务端 tasks: - name: yum shell: yum install -y nfs-utils rpcbind #安装nfs - name: yunm shell: yum -y install sshpass #安装密钥的软件

rnfs软件服务利用ansible实现一键化部署

创建配置文件 [[email protected] tools]# cat nfspeizhi.sh cat >>/etc/exports<<EOF /data 172.16.1.0/24(rw,sync) EOF 剧本: [[email protected] tools]# cat nfspiliang.yml - hosts: 172.16.1.131 #服务端 tasks: - name: yum shell: yum install -y nfs-utils rpcbind

运维自动化之ansible playbook一键化安装mysql主从

今天qq群里有朋友讨论使用ansible创建mysql主从的问题,正好我公司之前有需求,我就写了这个模块,现在分享给大家. 一.各软件版本 1.docker版本 Client version: 1.3.2 Client API version: 1.15 Go version (client): go1.3.3 Git commit (client): 39fa2fa/1.3.2 OS/Arch (client): linux/amd64 Server version: 1.3.2 Server

自动化运维系列之SaltStack批量部署Apache服务

自动化运维系列之SaltStack批量部署Apache服务 saltstack原理 SalStack由master和minion构成,master是服务端,表示一台服务器:minion是客户端,表示多台服务器.在Master上发送命令给符合条件的minion,Minion就会执行相应的命令.Master和Minion之间是通过ZeroMQ(消息队列)进行通信的. SaltStack的Master端的监听端口是4505和4506,4505端口是Master和Minion认证通信端口:4506端口是

saltstack详解+部署apache服务

saltstack介绍 1. saltstack是使用python语言开发的:2. 轻量级的管理工具,批量执行命令:3.常用模块:pkg(包).file(文件).cmd(执行命令或脚本).user. service.cron4.saltstack数据系统Grains (静态数据)pillar (动态数据) saltstack三大功能,远程执行,配置管理,云管理 SaltStack是一个服务器基础架构集中化管理平台,具备配置管理.远程执行.监控等功能,基于Python语言实现,结合轻量级消息队列(

kubernetes 二进制部署ansible playbook 一键生成

脚本仓库地址 https://github.com/qist/k8s #支持 Ubuntu 18及以上的系统,CentOS7及CentOS8 系统 # k8s 版本 14,15,16,17 号版本 ansible 安装 #Ubuntu 系列安装 apt -y install ansible #CentOS 8 安装 dnf -y install ansible # CentOS 7 安装 yum -y install ansible # 修改ansible 配置 ## 说明id_rsa_stor

ansible一键批量部署nfs服务

一键安装nfs服务 #install nfs_server - hosts: 172.16.1.31    服务端   tasks:     -name: installnfs-utils rpcbind       yum: name=nfs-utils,rpcbind     -name: copyconffile       copy: src=/etc/ansible/nfs_conf/exports dest=/etc/exports #将nfs配置文件配置好直接发送过去     -n