Ansible实战 lnmp 安装

网海过客

www.chinasa.net

目录结构

├── hosts
├── roles
│   └── lnmp
│             ├── files
│             │      ├── lnmp.tar.gz
│             └── tasks
│                     └── main.yaml
└── site.yaml

hosts配置

#cat hosts

[lnmp]
192.168.10.10 ansible_ssh_port=22 ansible_ssh_user=root ansible_ssh_pass=pass111

安装脚本忽过

PS:脚本内容太长,可自行写安装脚本

部份脚本内容:

#!/bin/sh
export
blue=`echo -e "\033[0;36;2m"`
white=`echo -e "\033[40;37m"`
basedir=`pwd`
php_soft_dir=`pwd`/php_soft
imagick_soft_dir=`pwd`/imagick_soft
tengine_soft_dir=`pwd`/tengine_soft

#------------------------------------------------------------
install_dir=/opt        #soft install dir 
start_soft=0            #Start program,0 not start,1 start 
#------------------------------------------------------------


install_status(){
        if [ $? -eq 0 ];then
                echo "$1 install Successful" >> $basedir/install_soft.log
        else
                echo "$1 install Failure!" >> $basedir/install_soft.log
                exit 0
        fi
}

install_devtools(){
        yum -y groupinstall "Development tools"
        yum -y install pcre pcre-devel gzip gzip-devel zlib zlib-devel cmake ncurses ncurses-devel openssl openssl-devel bzip2-devel curl-devel openldap-devel libevent-devel
}

# Install Nginx
install_nginx(){
        if [ -d  $install_dir/nginx ]
        then
                echo 'nginx soft is exist'
                return 11
        fi
        id -u www
        if [ $? -eq 0 ]
        then

mail.yaml配置文件


   – shell: mkdir -p /root/soft/
   – name: copy lnmp.tar.gz ……
     copy: src=lnmp.tar.gz dest=/root/soft/lnmp.tar.gz owner=root group=root mode=644

   – name: tar zxf lnmp.tar.gz
     shell: cd /root/soft/ && tar zxf lnmp.tar.gz

   – name: chmod 700 install_soft.sh
     shell: chmod 700 /root/soft/lnmp/install_soft.sh

   – name: Install MySQL 5.6.31 ……
     shell: cd /root/soft/lnmp/ && ./install_soft.sh 2

   – name: Install PHP 5.3.28 ……
     shell: cd /root/soft/lnmp/ && ./install_soft.sh 3

   – name: Install Redis 3.0 ……
     shell: cd /root/soft/lnmp/ && ./install_soft.sh 4

   – name: Install Imagick 3.4.1 ……
     shell: cd /root/soft/lnmp/ && ./install_soft.sh 5

   – name: Install Tengine 2.1.2 + LuaJIT 2.0 ……
     shell: cd /root/soft/lnmp/ && ./install_soft.sh 6 

site.yaml 入口配置文件 


– name: lnmp install
  hosts: lnmp
  roles:
        – lnmp 

语法检查 

[root@ansible-server]# ansible-playbook -i hosts site.yaml –syntax-check 

playbook: site.yaml 

PS:如有语法错误,请检查语法

lnmp 安装

[root@ansible-server]# ansible-playbook -i hosts site.yaml

PLAY [lnmp install] ********************************************************************

GATHERING FACTS *****************************************************************
ok: [192.168.10.10]

TASK:[lnmp | shell mkdir -p /root/soft/] ********************************************
changed: [192.168.10.10] 

TASK:[lnmp | copy lnmp.tar.gz ……] ************************************************
changed: [192.168.10.10] 

TASK:[lnmp | tar zxf lnmp.tar.gz ……] **********************************************
changed: [192.168.10.10]  

TASK:[lnmp | chmod 700 install_soft.sh ……] *************************************
changed: [192.168.10.10]  

TASK:[lnmp | Install MySQL 5.6.31 ……] *******************************************
changed: [192.168.10.10]  

TASK:[lnmp | Install PHP 5.3.28 ……] **********************************************
 changed: [192.168.10.10]  

TASK:[lnmp | Install Redis 3.0 ……] *************************************************
 changed: [192.168.10.10]   

TASK:[lnmp | Install Imagick 3.4.1 ……] ********************************************
 changed: [192.168.10.10]  

 TASK:[lnmp | Install Tengine 2.1.2 + LuaJIT 2.0 ……] **************************
 changed: [192.168.10.10] 

PLAY RECAP ******************************************************************** 
192.168.10.10 : ok=10 changed=9 unreachable=0 failed=0 

脚本说明

Nginx PHP MySQL Redis Varnishd
——————————————-
1、Install Nginx1.10.1
2、Install MySQL5.6.31
3、Install PHP5.3.28
4、Install Redis3.0
5、Install Imagick3.4.1
6、Install Tengine2.1.2+LuaJIT2.0
7、Install Varnish3.0.6
——————————————-
Usage: install_soft.sh {1|2|3|4|5|6|7}

安装说明
#./install_soft.sh 1 安装Nginx1.10.1
#./install_soft.sh 2 安装MySQL5.6.31
#./install_soft.sh 3 安装PHP5.3.28
#./install_soft.sh 4 安装Redis3.0
#./install_soft.sh 5 安装Imagick3.4.1
#./install_soft.sh 6 安装Tengine2.1.2+LuaJIT2.0
#./install_soft.sh 7 安装Varnish3.0.6

程序默认安装目录
Nginx /opt/nginx
PHP /opt/php
MySQL /opt/mysql56
Redis /opt/redis
PS:可以修改install_soft.sh安装脚本,install_dir变量,自定义安装路径

原创文章,作者:wubin,如若转载,请注明出处:http://www.178linux.com/26601

(1)
wubinwubin
上一篇 2016-07-29 11:06
下一篇 2016-07-29 12:11

相关推荐

  • Varnish基础进阶

    Varnish基础进阶 前言 互联网早已惠及全人类, 我们可以通过网络与家人、朋友进行实时通信, 也能通过网络随时随地在各大电商站点上购物, 我们访问web站点的速度也越来越快, 这背后都是有很多精巧的架构以及各种先进的技术来支撑的, 我们就今天主要聊聊Web的缓存技术, 对于当今的互联网来说, Cahe Is King, 缓存真的有那么神奇么? 就由我来带…

    Linux干货 2016-04-19
  • CentOS 7 安装 mysql-5.7.14

    在centos7上安装 路上遇过各种坑 把在centos7正确安装mysql-5.7.14分享一下 1. CentOs7 默认的数据库为MariaDB,先卸载MariaDB,否则安装mysql,引起冲突 rpm -qa mariadb rpm -e –nodeps mariadb 2. 准备好工作环境 mkdir /application&nbs…

    Linux干货 2017-05-07
  • 高可用keepalived+haproxy实现动静分离

    高可用keepalived+haproxy: 实验环境: clientIP为:172.18.254.149 VIRROUTEIP为:172.18.61.5 keepalived+haproxy机器1IP为172.18.61.1 keepalived+haproxy机器2IP为172.18.61.2 server1IP为172.18.61.3 server2I…

    2017-05-17
  • 8.5_Linux文本处理工具和grep之正则表达式的使用

    Linux文本处理工具使用 文件查看工具的使用 cat 命令的使用  此命令一般用于查看文件内容比较多 NAME        cat – concatenate files and print on the&…

    Linux干货 2016-08-08
  • Linux基础系列(用户,组管理)

       Linux是一个多用户操作系统多任务的分时操作系统,平时的日常使用离不开用户登录以及用户组的管理,熟练管理用户和用户组,会提升我们的工作效率。   Linux用户管理:   Linux包括系统管理员,普通用户。普通用户又分为系统用户和登录用户。系统用户一般不会登陆系统,其shell类型一般为/etc/nologi…

    Linux干货 2016-08-04
  • 轻松实现源码打包安装[原创]

    通常我们在Linux/Unix下安装一平台时往往需要十几甚至更多安装包,这些源码包来源于网络、本地硬盘、移动设备。有时碰到网络不畅通或下载地址失效会带来很多麻烦,一个好方法便是将常用的软件包下载到本地硬盘存放。问题是久而久之连自己都不晓得哪些包才是适用的。现用makeself来实现自解压倒安装倒是一个很好的解决方案,下面以制作Func客户端安装包为例。 一、…

    Linux干货 2015-03-27