Ansible学习记录一:Linux下部署
0.Ansible介绍
Ansible 是一个简单的自动化运维管理工具,可以用来自动化部署应用、配置、编排 task(持续交付、无宕机更新等),采用 paramiko 协议库(fabric 也使用这个)。
特殊说明:本教程是CentOS6.6的安装教程,在Linux 7的镜像里面一般都会带ansible这个rpm包,通过 yum -y install ansible就可以直接安装。避免如下复杂的步骤。
1.安装环境及介质
安装版本:Ansible 1.7.2
操作系统:Linux localhost.localdomain 2.6.32-504.el6.x86_64 #1 SMP Wed Oct 15 04:27:16 UTC 2014 x86_64 x86_64 x86_64 GNU/Linu
虚拟机镜像:CentOS-6.6-x86_64-bin-DVD1.iso
系统配置:1C(core)/1G(mem)/8G(disk)
介质:
ansible-1.7.2.tar.gz
https://github.com/ansible/ansible/archive/v1.7.2.tar.gz
ecdsa-0.11.tar.gz
https://pypi.python.org/packages/source/e/ecdsa/ecdsa-0.11.tar.gz
Jinja2-2.7.3.tar.gz
https://pypi.python.org/packages/source/J/Jinja2/Jinja2-2.7.3.tar.gz
MarkupSafe-0.9.3.tar.gz
https://pypi.python.org/packages/source/M/MarkupSafe/MarkupSafe-0.9.3.tar.gz
paramiko-1.15.1.tar.gz
https://pypi.python.org/packages/source/p/paramiko/paramiko-1.15.1.tar.gz
pycrypto-2.6.1.tar.gz
https://pypi.python.org/packages/source/p/pycrypto/pycrypto-2.6.1.tar.gz
Python-2.7.8.tgz
https://www.python.org/ftp/python/2.7.8/Python-2.7.8.tgz
PyYAML-3.11.tar.gz
https://pypi.python.org/packages/source/P/PyYAML/PyYAML-3.11.tar.gz
setuptools-7.0.tar.gz
https://pypi.python.org/packages/source/s/setuptools/setuptools-7.0.tar.gz
simplejson-3.6.5.tar.gz
https://pypi.python.org/packages/source/s/simplejson/simplejson-3.6.5.tar.gz
yaml-0.1.5.tar.gz
http://pyyaml.org/download/libyaml/yaml-0.1.5.tar.gz
2.开始安装
2.1 Python2.7安装
$ tar –zxvf Python-2.7.8.tgz
$ cd Python-2.7.8
$ ./configure –prefix=/usr/local
$ make --jobs=`grep processor /proc/cpuinfo | wc -l`
$ make install
## 将python头文件拷贝到标准目录,以避免编译ansible时,找不到所需的头文件
$ cd /usr/local/include/python2.7
$ cp -a ./* /usr/local/include/
## 备份旧版本的python,并符号链接新版本的python
$ cd /usr/bin
$ mv python python2.6
$ ln -s /usr/local/bin/python
## 修改yum脚本,使其指向旧版本的python,已避免其无法运行
$ vim /usr/bin/yum
# !/usr/bin/python --> #!/usr/bin/python2.6 (将Python改成Python2.6)
2.2 python-setuptools模块安装
$ tar -zxvf setuptools-7.0.tar.gz
$ cd setuptools-7.0
$ python setup.py install
2.3 python-pycrypto模块安装
$ tar -zxvf pycrypto-2.6.1.tar.gz
$ cd pycrypto-2.6.1
$ python setup.py install
2.4 python-PyYAML模块安装
$ tar -zxvf yaml-0.1.5.tar.gz
$ cd yaml-0.1.5
$ ./configure --prefix=/usr/local
$ make --jobs=`grep processor /proc/cpuinfo | wc -l`
$ make install
$ tar -zxvf PyYAML-3.11.tar.gz
$ cd PyYAML-3.11
$ python setup.py install
2.5 python-Jinja2模块安装
$ tar -zxvf MarkupSafe-0.9.3.tar.gz
$ cd MarkupSafe-0.9.3
$ python setup.py install
$ tar -zxvf Jinja2-2.7.3.tar.gz
$ cd Jinja2-2.7.3
$ python setup.py install
2.6 python-paramiko模块安装
$ tar -zxvf ecdsa-0.11.tar.gz
$ cd ecdsa-0.11
$ python setup.py install
$ tar -zxvf paramiko-1.15.1.tar.gz
$ cd paramiko-1.15.1
$ python setup.py install
2.7 python-simplejson模块安装
$ tar -zxvf simplejson-3.6.5.tar.gz
$ cd simplejson-3.6.5
$ python setup.py install
2.8 python-ansible模块安装
$ tar -zxvf ansible-1.7.2.tar.gz
$ cd ansible-1.7.2
$ python setup.py install
3.配置及测试
3.1 配置
# SSH免密钥登录设置
$ ssh-keygen -t rsa -P ''
#远程机器复制生成id_rsa.pub公钥实现免密登录,参考《Linux下实现免密登录》
# ansible配置
$ mkdir -p /etc/ansible
$ touch /etc/ansible/ansible.cfg
$ vim /etc/ansible/ansible.cfg
粘贴如下内容:
[defaults]
inventory = /etc/ansible/hosts
sudo_user=root
remote_port=22
host_key_checking=False
remote_user=root
log_path=/var/log/ansible.log
module_name=command
private_key_file=/root/.ssh/id_rsa
no_log:True
$ touch /etc/ansible/hosts
$ vim /etc/ansible/hosts
粘贴如下内容:
[test]
192.168.91.137
3.2 测试
$ ansible test -m ping
4 . 参考文章
Ansible官网全模块文档
http://docs.ansible.com/ansible/list_of_all_modules.html
自动化运维工具Ansible详细部署
http://sofar.blog.51cto.com/353572/1579894/
ansible快速上手
https://linuxtoy.org/archives/hands-on-with-ansible.html
Ansible:自动化工具
http://rangochen.blog.51cto.com/2445286/1425276
自动化工具ansible中文指南
http://www.aikaiyuan.com/6299.html
运维自动化之ansibleplaybook安装nginx
http://dl528888.blog.51cto.com/2382721/1438847
Ansible之安装部署及常用模块的使用介绍
http://yanshisan.blog.51cto.com/7879234/138440
Ansible状态管理
http://xdays.info/ansible%E7%8A%B6%E6%80%81%E7%AE%A1%E7%90%86.html
ansible学习笔记(二)初始化操作系统:ansible变量使用
http://laowafang.blog.51cto.com/251518/1418471
Ansible学习记录一:Linux下部署的更多相关文章
- Linux学习心得之 Linux下ant安装与使用
作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 Linux学习心得之 Linux下ant安装与使用 1. 前言2. ant安装3. 简单的a ...
- Linux学习心得之 Linux下命令行Android开发环境的搭建
作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 Linux学习心得之 Linux下命令行Android开发环境的搭建 1. 前言2. Jav ...
- Java学习心得之 Linux下搭建Java环境
作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 Java学习心得之 Linux下搭建Java环境 1.前言2.JDK安装3.配置环境变量4. ...
- Java学习心得之 Linux下搭建JavaWeb环境
作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 Java学习心得之 Linux下搭建JavaWeb环境 1. 前言2. Java安装3. t ...
- Ruby学习心得之 Linux下搭建Ruby环境
作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 Ruby学习心得之 Linux下搭建Ruby环境1.前言2.Linux下安装Ruby环境 一 ...
- 记录在linux下的wine生活
记录在linux下的windows生活 本篇内容涉及QQ.微信.Office的安装配置 QQ: 到deepin下载轻聊版. 如果安装了crossover,那么将其中opt/cxoffice/suppo ...
- Linux下部署FTP服务器
Linux下部署FTP服务器 下载安装包 在这里介绍的是离线部署FTP,首先下载对应的rpm包,下载链接为: 下载vsftpd服务 下载FTP客户端 安装ftp服务器 关闭防火墙 service ip ...
- linux下部署项目问题
1. 今天linux下部署thinkphp项目,数据库用的mysql. 页面其他都是正常的,但是从数据库中取出的数据都是乱码.最后查了资料 解决方案: 在ThinkPHP里面 Library\Thin ...
- linux 下部署nodejs(两种方式)
本次博客的编写时用的系统环境,刚装好的Centos 6.4 64位虚拟机. 另外关于linux 其他系统的安装 可以参考https://github.com/joyent/node/wiki/Ins ...
- Linux下部署Symfony2对app/cache和app/logs目录的权限设置
在linux下部署完Symfony2,可能在访问的时候会报app/logs或者app/cache目录没有写权限的错误.在linux下,如果我们在命令行登陆的用户和web应用服务器(apache.ngi ...
随机推荐
- ipad mini2 升级9.0.2后解锁白屏解决
解锁白屏是个什么现象?就是当你用手指滑动解锁后出现输入密码的界面后,1秒之内屏幕变白,中间一个黑色的苹果,几秒之后重新回到滑动解锁的界面.我出现这个现象不是因为升级了9.0.2,而是升级了9.0.2之 ...
- [BJOI2014]大融合 LCT维护子树信息
Code: #include <cstdio> #include <algorithm> #include <cstring> #include <strin ...
- HDU-1035 Robot Motion 模拟问题(水题)
题目链接:https://cn.vjudge.net/problem/HDU-1035 水题 代码 #include <cstdio> #include <map> int h ...
- hdu 6363 bookshelf
题解讲的很清楚了,直接看代码就懂了 题解:http://bestcoder.hdu.edu.cn/blog/2018-multi-university-training-contest-6-solut ...
- 用例子看ASP.NET Core Identity是什么?
原文:用例子看ASP.NET Core Identity是什么? 目录 前言 基于声明的认证(Claims-based Authentication) Claim 在ASP.NET Core Iden ...
- HDU 4862 Jump 费用流
又是一个看了题解以后还坑了一天的题…… 结果最后发现是抄代码的时候少写了一个负号. 题意: 有一个n*m的网格,其中每个格子上都有0~9的数字.现在你可以玩K次游戏. 一次游戏是这样定义的: 你可以选 ...
- Linux学习之socket编程(二)
Linux学习之socket编程(二) 1.C/S模型——UDP UDP处理模型 由于UDP不需要维护连接,程序逻辑简单了很多,但是UDP协议是不可靠的,实际上有很多保证通讯可靠性的机制需要在应用层实 ...
- mysql中lock tables与unlock tables(锁表/解锁)使用总结
php mysql lock tables 使用有感 mysql 的 表锁 lock tables 感觉就像一个 封闭的空间 mysql发现 lock tables 命令的时候,会将带有锁标记的表(t ...
- [Python] Normalize the data with Pandas
import os import pandas as pd import matplotlib.pyplot as plt def test_run(): start_date='2017-01-01 ...
- LeetCode 107 Binary Tree Level Order Traversal II(二叉树的层级顺序遍历2)(*)
翻译 给定一个二叉树,返回从下往上遍历经过的每一个节点的值. 从左往右,从叶子到节点. 比如: 给定的二叉树是 {3,9,20,#,#,15,7}, 3 / \ 9 20 / \ 15 7 返回它从下 ...