ansible-playbook 案例
nginx的安装
编写nginx的自动部署文件nginx.yml hosts主机更改为自己定义的



访问目标主机组的IP地址,查看测试页面
测试页面:显示的是本机ip
|
1
|
<h1>{{ansible_all_ipv4_addresses}}</h1> |
lnmp架构自动部署
首先免密登录配置
编写lnmp的脚本 lnmp.yml

结果:


ansible自动部署tomcat
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
---- hosts: tomcat tasks: - name: 关闭防火墙 service: name=iptables state=stopped - name: 关闭selinux shell: setenforce 0 - name: 安装所需的软件 yum: name=tar,libselinux-python state=latest - name: 推送jdk java环境 copy: src=jdk-8u131-linux-x64_.rpm dest=/root - name: 创建文件夹 file: path=/opt/tomcat state=directory - name: 推送tomcat的压缩包 unarchive: src=apache-tomcat-8.5.35.tar.gz dest=/opt/tomcat - name: 安装jdk yum: name=jdk-8u131-linux-x64_.rpm state=installed - name: 启动tomcat shell: nohup /opt/tomcat/apache-tomcat-8.5.35/bin/startup.sh & |
Ansible自动部署lnmp架构+上线电商
|
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
28
29
30
31
32
33
34
35
36
37
38
39
|
---- hosts: lnmp tasks: - name: 关闭防火墙 service: name=iptables state=stopped - name: 关闭selinux shell: setenforce 0 - name: 配置相关组件以及MySQL yum: name=zlib-devel,pcre-devel,gcc,gcc-c++,php,php-mysql,php-gd,php-fpm,libselinux-python,tar,vim,unzip state=latest - name: 推送nginx安装包 unarchive: src=nginx-1.16.1.tar.gz dest=/root - name: 安装nginx shell: cd /root/nginx-1.16.1 && ./configure && make && make install - name: 启动nginx shell: netstat -ntlp | grep -q nginx || /usr/local/nginx/sbin/nginx - name: 推送ningx的配置文件 template: src=nginx.conf dest=/usr/local/nginx/conf/nginx.conf tags: config-nginx notify: restart-nginx - name: 启动php-fpm service: name=php-fpm state=started - name: 安装mysql yum: name=mysql,mysql-server state=latest - name: 启动mysql service: name=mysqld state=started - name: 删除数据库如果存在 shell: mysql -e "drop database if exists ds;" - name: 创建数据库 shell: mysql -e "create database ds charset=utf8;" - name: 给用户授权 shell: mysql -e "grant all on *.* to 'tom'@'%' identified by '123';" - name: 刷新权限 shell: mysql -e "flush privileges;" - name: 推送电商的安装包并给予权限 unarchive: src=tinyshopV2.5_data.zip dest=/usr/local/nginx/html/ mode=777 handlers: - name: restart-nginx shell: /usr/local/nginx/sbin/nginx -s reload |
Ansible自动部署Zabbix
要求操作系统:centos7
|
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
28
29
30
31
32
33
34
35
36
37
38
39
40
|
[root@localhost zabbix]# rpm -ivh http://repo.zabbix.com/zabbix/4.4/rhel/7/x86_64/zabbix-release-4.4-1.el7.noarch.rpm获取http://repo.zabbix.com/zabbix/4.4/rhel/7/x86_64/zabbix-release-4.4-1.el7.noarch.rpm警告:/var/tmp/rpm-tmp.MEfeuA: 头V4 RSA/SHA512 Signature, 密钥 ID a14fe591: NOKEY准备中... ################################# [100%]正在升级/安装... 1:zabbix-release-4.4-1.el7 ################################# [100%][root@localhost ~]# yum -y install zabbix-server-mysql zabbix-web-mysql zabbix-apache-conf zabbix-agent[root@localhost ~]# yum -y install mariadb mariadb-server[root@localhost ~]# systemctl start mariadb[root@localhost ~]# systemctl enable mariadb[root@localhost ~]# mysqlWelcome to the MariaDB monitor. Commands end with ; or \g.Your MariaDB connection id is 2Server version: 5.5.64-MariaDB MariaDB ServerCopyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.MariaDB [(none)]> create database zabbix charset=utf8;Query OK, 1 row affected (0.00 sec)MariaDB [(none)]> grant all on *.* to 'zabbix'@'localhost' identified by '123';Query OK, 0 rows affected (0.00 sec)MariaDB [(none)]> flush privileges;Query OK, 0 rows affected (0.00 sec)MariaDB [(none)]> exitBye[root@localhost ~]# cd /usr/share/doc/zabbix-server-mysql-4.4.1/[root@localhost zabbix-server-mysql-4.4.1]# lsAUTHORS ChangeLog COPYING create.sql.gz NEWS README[root@localhost zabbix-server-mysql-4.4.1]# zcat create.sql.gz | mysql -uzabbix -p123 zabbix[root@localhost ~]# vim /etc/zabbix/zabbix_server.conf DBName=zabbix //创建的数据库的名字 DBUser=zabbix //用户 DBPassword=123 //用户的密码[root@localhost ~]# vim /etc/httpd/conf.d/zabbix.conf php_value date.timezone Asia/Shanghai[root@localhost ~]# systemctl restart httpd zabbix-server zabbix-agent |
ansible-playbook 案例的更多相关文章
- Ansible Playbook 初识
Ansible Playbook 基本概述与使用案例 主机规划 添加用户账号 说明: 1. 运维人员使用的登录账号: 2. 所有的业务都放在 /app/ 下「yun用户的家目录」,避免业务数据乱放: ...
- Ansible playbook 编程
Ansible playbook 编程详解与各种小案例 主机规划 添加用户账号 说明: 1. 运维人员使用的登录账号: 2. 所有的业务都放在 /app/ 下「yun用户的家目录」,避免业务数据乱放: ...
- Ansible playbook Vault 加密
Ansible playbook Vault 加密详解与使用案例 主机规划 添加用户账号 说明: 1. 运维人员使用的登录账号: 2. 所有的业务都放在 /app/ 下「yun用户的家目录」,避免业务 ...
- Ansible playbook API 开发 调用测试
Ansible是Agentless的轻量级批量配置管理工具,由于出现的比较晚(13年)基于Ansible进行开发的相关文档较少,因此,这里通过一些小的实验,结合现有资料以及源码,探索一下Ansible ...
- ansible playbook实践(四)-如何调试写好的playbook文件
有时,我们写了一个长长,功能很强悍的yaml文件,但是,我们有可能会担心,写的yaml文件是否正确,是否有漏洞危机,毕竟是要修改线上的机器,那么,有可能我们可以从以下几个检查维度来进行,确保在大规模应 ...
- ansible playbook批量改ssh配置文件,远程用户Permission denied
最近手里的数百台服务器需要改/etc/ssh/sshd_config的参数,禁止root直接登陆,也就是说 [root@t0 ~]# cat /etc/ssh/sshd_config | grep R ...
- ansible笔记(11):初识ansible playbook(二)
ansible笔记():初识ansible playbook(二) 有前文作为基础,如下示例是非常容易理解的: --- - hosts: test211 remote_user: root tasks ...
- ansible笔记(10):初识ansible playbook
ansible笔记():初识ansible playbook 假设,我们想要在test70主机上安装nginx并启动,我们可以在ansible主机中执行如下3条命令 ansible test70 -m ...
- Ansible playbook 批量修改服务器密码 先普通后root用户
fsckzy Ansible playbook 批量修改服务器密码 客户的需求:修改所有服务器密码,密码规则为Rfv5%+主机名后3位 背景:服务器有CentOS6.7,SuSE9.10.11,r ...
- 写Ansible playbook添加zabbix被监控的对象
本主题达到的效果是能通过编写Ansible Playbook,创建zabbix主机组,把被监控的对象加入到zabbix监控系统中,同时链接到对象的模板. 1.准备工作 在zabbix服务器上面,我们需 ...
随机推荐
- 百度地图api,点击标注,改变标注marker图标的链接地址
改变选中的图标样式 // 选中高亮标注图片 let mapIcon = ‘./icon.png’; //标注点 let markerArrs = [{},{},....]; // 点击标注点 mark ...
- layer 回调
目前使用的layer版本为1.8.5 在调用layer的JS中,使用end来进行处理 $.layer({ type : 2, shadeClose : true, title : '选择人员', cl ...
- jquery pageY属性 语法
jquery pageY属性 语法 作用:pageY() 属性是鼠标指针的位置,相对于文档的上边缘.直线模组 语法:event.page 参数: 参数 描述 event 必需.规定要使用的事件 ...
- @RequestParam和@PathVariable用法小结
@RequestParam 使用@RequestParam接收前段参数比较方便,前端传参的URL: url = “${ctx}/main/mm/am/edit?Id=${Id}&name=${ ...
- Python3学习笔记(十三):装饰器
装饰器就是一个闭包,它的主要作用是在不改变原函数的基础上对原函数功能进行扩展. 我们先来写一个简单的函数: from time import sleep def foo(): print(" ...
- Unity3D_(游戏)双人3D坦克_简易版
双人3D坦克实现 player1: WSAD控制上下左右 空格键发射炮弹 player2: IKJL可控制上下左右 B键发射炮弹 每个坦克只有100hp,子弹击中1次扣30hp,hp时时显示在坦克上 ...
- Alibaba DataX 源码编译
Alibaba DataX 源码编译 标签(空格分隔): ETL DataX简介 设计理念 为了解决异构数据源同步问题,DataX将复杂的网状的同步链路变成了星型数据链路,DataX作为中间传输载体负 ...
- pygame基本框架
代码: import sys #导入sys模块import pygame #导入pygame模块 pygame.init() #pygame初始化size = width,height = 800,8 ...
- 【转】jQuery - 同时添加click和dblclick事件
特别提示:本人博客部分有参考网络其他博客,但均是本人亲手编写过并验证通过.如发现博客有错误,请及时提出以免误导其他人,谢谢!欢迎转载,但记得标明文章出处:http://www.cnblogs.com/ ...
- 选题 Scrum立会报告+燃尽图 02
此作业要求参见[https://edu.cnblogs.com/campus/nenu/2019fall/homework/8683] 一.小组介绍 组长:贺敬文 组员:彭思雨 王志文 位军营 杨萍 ...