ansible-playbook一键化部署apache服务

yaoming-007      2022-05-19     451

关键词:


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

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

1.配置playbook.yml文件

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

[devops@server4 ansible]$ ansible-playbook playbook.yml --list-tasks

1

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

[devops@server4 ansible]$ ansible-playbook playbook.yml --syntax-check

1

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

[devops@server4 ansible]$ ansible-playbook playbook.yml

1

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

[devops@server4 ansible]$ vim playbook.yml
---
- hosts: webservers
tasks:
- name: install httpd
yum:
name: httpd
state: latest
- name: create index.html
copy:
content: "www.westos.org "
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.语法检测

[devops@server4 ansible]$ ansible-playbook playbook.yml --syntax-check

1

7.推送

[devops@server4 ansible]$ ansible-playbook playbook.yml

1

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

[devops@server4 ansible]$ vim playbook.yml
---
- hosts: webservers
tasks:
- name: install httpd
yum:
name: httpd
state: latest
- name: create index.html
copy:
content: "www.westos.org "
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目录下

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

1
2
3
4

11.语法检测并推送

[devops@server4 ansible]$ ansible-playbook playbook.yml --syntax-check

playbook: playbook.yml
[devops@server4 ansible]$ ansible-playbook playbook.yml

1
2
3
4

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

[devops@server4 files]$ md5sum httpd.conf
f5e7449c0f17bc856e86011cb5d152ba httpd.conf
[root@server5 ~]# md5sum /etc/httpd/conf/httpd.conf
f5e7449c0f17bc856e86011cb5d152ba /etc/httpd/conf/httpd.conf

1
2
3
4

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

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

1
2
3
4
5
6
7

15.语法检测并部署

[devops@server4 ansible]$ ansible-playbook playbook.yml --syntax-check

playbook: playbook.yml
[devops@server4 ansible]$ ansible-playbook playbook.yml

1
2
3
4

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

[devops@server4 ansible]$ vim playbook.yml

1

在这里插入图片描述

[devops@server4 ansible]$ ansible-playbook playbook.yml
[devops@server4 ansible]$ curl server5
server5
[devops@server4 ansible]$ curl server6
server6

1
2
3
4
5

16.定义httpd端口

[devops@server4 ansible]$ vim playbook.yml

1

在这里插入图片描述

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

1
2
3

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

[devops@server4 ansible]$ mkdir templates

1

2)将模版放到该目录里

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

1

3)修改playbook.yml文件

[devops@server4 ansible]$ vim playbook.yml

1

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

[devops@server4 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

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

创建配置文件[[email protected]tools]#catnfspeizhi.shcat>>/etc/exports<<EOF      /data172.16.1.0/24(rw,sync)EOF剧本:[[email protected]tools]#catnfspiliang.ym 查看详情

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

首先创建一个脚本文件 /server/tools/peizhi.shcat /server/tools/peizhi.shcat>>/etc/rsyncd.conf<<EOF#luo##paichu.sh##uid=rsyncgid=rsyncusechroot=nomaxconnections=200timeout=300pidfile=/var/ru 查看详情

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

首先创建一个脚本文件 /server/tools/peizhi.shcat /server/tools/peizhi.shcat>>/etc/rsyncd.conf<<EOF#luo##paichu.sh##uid=rsyncgid=rsyncusechroot=nomaxconnections=200timeout=300pidfile=/var/ru 查看详情

利用ansible一键化部署nfs&rsync并实时同步

管理端:[[email protected]tools]#catquanwang.sh#!/bin/bashsh/server/scripts/piliangceshimiyao.shansible-playbook/server/tools/rsyncpiliang.ymlansible-playbook/server/tools/nfspiliang.ymlansible-playb 查看详情

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

[[email protected]tools]#catnfspeizhi.shcat>>/etc/exports<<EOF/data172.16.1.0/24(rw,sync)EOF -hosts:172.16.1.131#服务端tasks:-name:yumshell:yuminstall-ynfs-utilsrpcbind#安装nfs-name:y 查看详情

ansible-playbook批量部署安装tomcat

tomcat安装脚本:---- name: Tomcat install and configuration  hosts: "{{ host }}"  user: root    vars:   & 查看详情

ansible-playbook批量部署zabbix

一、需求  机房每次增加一批服务器,一些初始环境变量,监控端,脚本,时间校对,配置文件参数修改等一系操作,刚开始按步就班,也用到一些脚本,高效性没能体现出来。现在升级到ansible,自动化部署应用,配置,... 查看详情

lamp基础环境部署

...,出于方便实施和自动化管理,编写LAMP部署脚本,实现一键安装部署,后续配合脚本Saltstack批量执行。二.生产环境    Linux:Centos6.9    Apac 查看详情

ansible-playbook实现apache批量部署

  Apache有着提供http协议服务、多个虚拟主机、CGI、反向代理、负载均衡、路径别名、丰富的用户认证机制和支持第三方模块等功能。在CentOS/Ubuntu系统中,我们可以直接下载httpd/apache2包,里面会带有Apache服务,例如笔者在... 查看详情

ansible-playbook实现mysql的二进制部署

  在第十周作业的《通过编译、二进制安装MySQL5.7》一篇中,笔者演示了如何利用二进制来完成指定版本的MySQL安装,但此种方法仅适用于单台主机,如果是企业中,要安装MySQL的主机数量很多,则费时费力。借助于运维自... 查看详情

ansible-playbook基于role的配置一键安装zabbix客户端以及拉取自定义监控脚本

        在IT工作中,您可能会一遍又一遍地执行相同的任务;没有人喜欢重复的任务。通过Ansible,IT管理员可以开始自动化日常任务中的苦差事。自动化解放了管理人员,专注于通过加快应用交付时... 查看详情

使用helm在容器服务k8s集群一键部署wordpress

摘要:Helm是啥?微服务和容器化给复杂应用部署与管理带来了极大的挑战。Helm是目前Kubernetes服务编排领域的唯一开源子项目,做为Kubernetes应用的一个包管理工具,可理解为Kubernetes的apt-get/yum,由Deis公司发起,该公司已经被微软... 查看详情

[docker][ansible-playbook]3持续集成环境初探

...的各个模块组件如何部署到不同的服务器上?答案是使用ansible-playbook,根据yml脚本进行部署,其服务器部署ip由统一的 查看详情

使用ansible-playbook部署zabbix-agent-4.0(代码片段)

-hosts:allremote_user:roottasks:-name:CentOS6systemcopyzabbix-agentrpmcopy:src=/tmp/zabbix-agent-3.4.9-1.el6.x86_64.rpmdest=/tmp/zabbix-agent-3.4.9-1.el6.x86_64.rpmwhen:-ansible_distribution=="CentOS" 查看详情

[ansible-playbook]4持续集成环境之分布式部署利器ansibleplay学习

3ansible-play讲的中太少了,今天稍微深入学习一点预计阅读时间:15分钟一:安装部署参考 http://getansible.com/begin/an_zhuang_ansile 二:常用模块a.service用于启动检查服务b.file用于文件删除链接创建c.shell用于执行脚本(不推荐,... 查看详情

一键自动化部署(定制rpm包,yum仓库)

部署--前篇      上午将MySQL多实例部署完成,由于有公司特定一些需求,需要源码安装,现在需要批量部署,如果一台台部署,就太过麻烦,而且浪费时间,这个时候自动化部署就体现出价值了   ... 查看详情

运维自动化工具ansible-playbook(代码片段)

一、简介playbook是一个非常简单的配置管理和多主机部署系统。可作为一个适合部署复杂应用程序的基础。playbook可以定制配置,可以按指定的操作步骤有序执行,支持同步和异步方式。playbook是通过YAML格式来进行描述定义的,... 查看详情

ansible-playbook远程安装nginx

ansible用于批量管理远程服务器,下面记录使用ansible远程部署nginx服务的过程。实验环境:ansible主机:centos6.6192.168.38.152已经源码编译安装好了nginx服务,安装过程参考这里远程服务器:centos6.6192.168.38.155(hostsname:web155.com)用于部署... 查看详情