通过Ansible来搭建一套Web服务架构。【以AD-HOC的形式】

Inventory文件内容如下:

[proxy]

192.168.40.254

[app]

192.168.40.243

[nosql]

192.168.40.252

[db]

192.168.40.252

(1)首先使用ansible安装Nginx。

ansible proxy -m yum -a "name=nginx state=present"

使用yum模块来安装CentOS上的包。特别要注意state的意思。

从网络安装:

ansible proxy -m yum -a \

"name=http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6.0.el6.ngx.noarch.rpm \

state=present"

从本地安装:

ansible proxy -m yum -a \

"name=/usr/local/src/nginx-release-centos-6-0.el6.ngx.noarch.rpm state=present"

(2)然后部署app服务器。

=== nginx和php

ansible app -m yum -a "name=nginx state=present"

ansible app -m yum -a "name=php state=present"

=== django

ansible app -m yum -a "name=MySQL-python state=present"

ansible app -m yum -a "name=python-setuptools state=present"

ansible app -m pip -a "name=django state=present"

ansible app -m command -a "python -c 'import django; print django.get_version()' "

(3)然后部署nosql服务器和mariadb服务器。

ansible db -m yum -a "name=redis state=present"

ansible db -m command -a "redis-cli --version"

ansible db -m yum -a "name=mariadb-server state=present"

ansible db -m yum -a "name=mariadb-client state=present"

ansible db -m command -a "iptables -A INPUT -s 192.168.0.0/16 -p tcp -m tcp --dport 3306 -j ACCEPT"

总结:

通过ansible部署了一套应用环境,期间没有登录任何客户端,所有的操作都是在控制端执行的。

对于使用次数较少的情况下,这种方式没有任何优势,还不如我们直接登录客户服务器,执行相关命令。

但如果要将这套环境部署到1000台服务器上,那就体现出了ansible的优势。

以前可能需要执行10000条命令才能安装完1000台服务器,现在使用ansible后,完成这个工作只需要

10条命令即可。

注意:这是通过AD-HOC的方式来完成的。

随笔-ansible-2的更多相关文章

  1. Ansible随笔8

    自定义模块的开发模式 1.决定自定义模块的存放路径 编辑/etc/ansible/ansible.cfg文件,修改library = /usr/share/ansible/. 这样就告诉ansible ...

  2. Ansible playbook API 开发 调用测试

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

  3. ansible学习

    声明:本博客内容是根据惨绿少年内容实践随笔,地址:http://www.cnblogs.com/clsn/p/7743792.html#comment_form 1.ansible介绍 Ansible ...

  4. Ansible 利用playbook批量部署mariadb

    环境说一下 192.168.30.21     ansible 192.168.30.25     client1 192.168.30.26     client2 这里我的ansible环境已经部 ...

  5. Ansible实现zabbix服务器agent端批量部署

    项目需求:由于搭建zabbix,需要每台服务器都需要安装监控端(agent)正常的的操作是一台一台去安装,这样确实有点浪费时间,这里为大家准备了一款开源 的自动化运维工具Ansible,相信大家也很熟 ...

  6. 利用ansible书写playbook搭建HAProxy+Keepalived+PXC负载均衡和高可用的PXC环境续

    ansible.playbook.haproxy.keepalived.PXC haproxy+keepalived双主模式调度pxc集群 HAProxy介绍 反向代理服务器,支持双机热备支持虚拟主机 ...

  7. 如何利用ansible callback插件对执行结果进行解析

    最近在写一个批量巡检工具,利用ansible将脚本推到各个机器上执行,然后将执行的结果以json格式返回来. 如下所示: # ansible node2 -m script -a /root/pyth ...

  8. AI人工智能系列随笔

    初探 AI人工智能系列随笔:syntaxnet 初探(1)

  9. 【置顶】CoreCLR系列随笔

    CoreCLR配置系列 在Windows上编译和调试CoreCLR GC探索系列 C++随笔:.NET CoreCLR之GC探索(1) C++随笔:.NET CoreCLR之GC探索(2) C++随笔 ...

  10. C++随笔:.NET CoreCLR之GC探索(4)

    今天继续来 带大家讲解CoreCLR之GC,首先我们继续看这个GCSample,这篇文章是上一篇文章的继续,如果有不清楚的,还请翻到我写的上一篇随笔.下面我们继续: // Initialize fre ...

随机推荐

  1. vc/atlmfc/include/afx.h(24) : fatal error C1189: #error : Building MFC application with /MD[d] (CRT

    环境:win7,64位,vs2012 1> c:/program files/microsoft visual studio 8/vc/atlmfc/include/afx.h(24) : fa ...

  2. WinDbg中Check for invalid symbols or bad syntax(断点设置)解决办法

    基础知识 bp 程序运行过程中下断点 bu 程序未加载之前下断点 bl  列出所有断点 bc  清除断点 今天在调试驱动的时候 发现下好断点后 无法调试 WinDbg显示 kd> g Break ...

  3. Codeforces451A-Game With Sticks-思维

    After winning gold and silver in IOI 2014, Akshat and Malvika want to have some fun. Now they are pl ...

  4. Python CookBook(self report)

    Python CookBook 中文版:https://python3-cookbook.readthedocs.io/zh_CN/latest/copyright.html 英文版:https:// ...

  5. java-day26

    ## DOM简单学习:为了满足案例要求     * 功能:控制html文档的内容     * 获取页面标签(元素)对象:Element         * document.getElementByI ...

  6. 牛客网多校训练第四场C sequence

    (牛客场场有笛卡尔树,场场都不会用笛卡尔树...自闭,补题心得) 题目链接:https://ac.nowcoder.com/acm/contest/884/C 题意:给出两个序列a,b,求max{mi ...

  7. 随笔-ansible-6

    Ansible中的变量引用有时候需要双引号,有时候不需要双引号,这是因为Ansible是多人协作的作品,所以没有统一. 一切以官网说明为主,同时自己也要实践. 这是一个example.yml文件,我们 ...

  8. JVM调优参数设置?

    -Xms20M 表示设置堆容量的最小值为20M,必须以M为单位 -Xmx20M 表示设置堆容量的最大值为20M,必须以M为单位.将-Xmx和-Xms设置为一样可以避免堆自动扩展.大的项目-Xmx和-X ...

  9. cocos构建的android项目的返回键相应

    @Override public boolean dispatchKeyEvent(KeyEvent event) { //返回键 cocosActivity不相应onbackPressed和onKe ...

  10. 前端 JavaScript 基础

    内容目录: 一.JavaScript介绍 二.基础语法   2.1 变量   2.2 数据类型   2.3 流程控制   2.5 函数的全局变量和局部变量   2.6 作用域   2.7 词法分析   ...