ansible-playbook一键化部署apache服务

pzczyy 2020-03-27


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

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

1.配置playbook.yml文件

[ 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部署的任务

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

1

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

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

1

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

[ ansible]$ ansible-playbook playbook.yml

1

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

[ 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.语法检测

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

1

7.推送

[ ansible]$ ansible-playbook playbook.yml

1

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

[ 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目录下

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

1
2
3
4

11.语法检测并推送

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

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

1
2
3
4

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

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

1
2
3
4

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

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

1
2
3
4
5
6
7

15.语法检测并部署

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

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

1
2
3
4

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

[ ansible]$ vim playbook.yml

1

在这里插入图片描述

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

1
2
3
4
5

16.定义httpd端口

[ ansible]$ vim playbook.yml

1

在这里插入图片描述

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

1
2
3

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

[ ansible]$ mkdir templates

1

2)将模版放到该目录里

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

1

3)修改playbook.yml文件

[ ansible]$ vim playbook.yml

1

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

[ 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

相关推荐