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 ~]# mysql
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 2
Server version: 5.5.64-MariaDB MariaDB Server
Copyright (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)]> exit
Bye
 
[root@localhost ~]# cd /usr/share/doc/zabbix-server-mysql-4.4.1/
[root@localhost zabbix-server-mysql-4.4.1]# ls
AUTHORS  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 案例的更多相关文章

  1. Ansible Playbook 初识

    Ansible Playbook 基本概述与使用案例 主机规划 添加用户账号 说明: 1. 运维人员使用的登录账号: 2. 所有的业务都放在 /app/ 下「yun用户的家目录」,避免业务数据乱放: ...

  2. Ansible playbook 编程

    Ansible playbook 编程详解与各种小案例 主机规划 添加用户账号 说明: 1. 运维人员使用的登录账号: 2. 所有的业务都放在 /app/ 下「yun用户的家目录」,避免业务数据乱放: ...

  3. Ansible playbook Vault 加密

    Ansible playbook Vault 加密详解与使用案例 主机规划 添加用户账号 说明: 1. 运维人员使用的登录账号: 2. 所有的业务都放在 /app/ 下「yun用户的家目录」,避免业务 ...

  4. Ansible playbook API 开发 调用测试

    Ansible是Agentless的轻量级批量配置管理工具,由于出现的比较晚(13年)基于Ansible进行开发的相关文档较少,因此,这里通过一些小的实验,结合现有资料以及源码,探索一下Ansible ...

  5. ansible playbook实践(四)-如何调试写好的playbook文件

    有时,我们写了一个长长,功能很强悍的yaml文件,但是,我们有可能会担心,写的yaml文件是否正确,是否有漏洞危机,毕竟是要修改线上的机器,那么,有可能我们可以从以下几个检查维度来进行,确保在大规模应 ...

  6. ansible playbook批量改ssh配置文件,远程用户Permission denied

    最近手里的数百台服务器需要改/etc/ssh/sshd_config的参数,禁止root直接登陆,也就是说 [root@t0 ~]# cat /etc/ssh/sshd_config | grep R ...

  7. ansible笔记(11):初识ansible playbook(二)

    ansible笔记():初识ansible playbook(二) 有前文作为基础,如下示例是非常容易理解的: --- - hosts: test211 remote_user: root tasks ...

  8. ansible笔记(10):初识ansible playbook

    ansible笔记():初识ansible playbook 假设,我们想要在test70主机上安装nginx并启动,我们可以在ansible主机中执行如下3条命令 ansible test70 -m ...

  9. Ansible playbook 批量修改服务器密码 先普通后root用户

    fsckzy   Ansible playbook 批量修改服务器密码 客户的需求:修改所有服务器密码,密码规则为Rfv5%+主机名后3位 背景:服务器有CentOS6.7,SuSE9.10.11,r ...

  10. 写Ansible playbook添加zabbix被监控的对象

    本主题达到的效果是能通过编写Ansible Playbook,创建zabbix主机组,把被监控的对象加入到zabbix监控系统中,同时链接到对象的模板. 1.准备工作 在zabbix服务器上面,我们需 ...

随机推荐

  1. LINUX学习之一基础篇

    1.计算机硬件五大单元:运算器.控制器.存储器.I/O设备 2.CPU种类:精简指令集(RISC)和复杂指令集(CISC) 3.1Byte=8bit,扇区大小为512bytes 4.芯片组通常分为两个 ...

  2. wx小程序知识点(六)

    六.生命周期 (1)onLoad    —— 加载时触发,只调用一次,可用来发送请求绑定数据.获取url中参数 (2)onShow   —— 页面显示时触发,每次显示都会执行,用来获取需要频繁更新的数 ...

  3. JavaScript 函数——语法,调用,返回值,局部变量,全局变量,未声明变量

    JavaScript 函数是被设计为执行特定任务的代码块. JavaScript 函数会在某代码调用它时被执行. ㈠函数 ⑴什么是函数 函数是由事件驱动的或者当它被调用时执行的可重复使用的代码块. ⑵ ...

  4. Windows:在特定路径下启动命令行

    造冰箱的大熊猫,本文适用于Windows 7@cnblogs 2018/11/30 在Windows文件浏览器中,按下“Shift+鼠标右键”,点击“在此处打开命令窗口”.

  5. 51 Nod 1134 最长递增子序列(经典问题回顾)

    1134 最长递增子序列  基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题  收藏  关注 给出长度为N的数组,找出这个数组的最长递增子序列.(递增子序列是指,子序列的元 ...

  6. Golang Singleton

    package example import ( "fmt" "sync") var m *singletonvar once sync.Once func G ...

  7. MqttConnectReturnCode枚举值

    特别提示:本人博客部分有参考网络其他博客,但均是本人亲手编写过并验证通过.如发现博客有错误,请及时提出以免误导其他人,谢谢!欢迎转载,但记得标明文章出处:http://www.cnblogs.com/ ...

  8. 套接字选项 之 SO_REUSEADDR && SO_REUSEPORT

    说明 本文下面内容基本上是截取自stackoverflow,针对这两个选项,在另外一篇文章中做了总结,请移步<Linux TCP套接字选项 之 SO_REUSEADDR && S ...

  9. LeetCode 16. 最接近的三数之和(3Sum Closest)

    题目描述 给定一个包括 n 个整数的数组 nums 和 一个目标值 target.找出 nums 中的三个整数,使得它们的和与 target 最接近.返回这三个数的和.假定每组输入只存在唯一答案. 例 ...

  10. android 播放音乐媒体文件(三)

    看段小代码: mMediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);mMediaPlayer.setDataSource(url);mM ...