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.www58058.com/26601

(1)
wubinwubin
上一篇 2016-07-29
下一篇 2016-07-29

相關推薦

  • sed命令的入門與進階

    sed:Stream EDitor     什么是sed呢?sed被稱為linux文本處理三劍客之一,另外兩個就是大名鼎鼎的grep和awk。sed是非交互性的流編輯器,在處理文本時一次只讀取一行文本,然后基于所給定的編輯腳本對模式空間中的內容做編輯處理并把處理后的結果輸出至標準輸出。接著處理下一行文本,這樣不斷重復,直到文件的末尾。se…

    2017-03-16
  • 文本處理三劍客之Gawk ?

        AWK可以說是一種語言,他有著自己的語法,可以實現函數定義,變量賦值,條件選擇(循環,判斷,選擇)…總之是值得深入研究一下的。     AWK的起源:是個報告生成器,可以格式化文本輸出內容,它的命名是由Aho,Weinberger,Kernighan三位作者首…

    Linux干貨 2016-09-21
  • 馬哥教育網絡班21期-第八周課程練習

    1、請描述網橋、集線器、二層交換機、三層交換機、路由器的功能、使用場景與區別。 網橋:是將廣播域劃分為多個小的沖突域,但廣播域沒有變。工作在OSI模型的數據鏈路層,端口很少;基于軟件;可以處理上層事務。集線器:對接收到的信號進行再生整形放大,擴大網絡傳輸距離;屬于純硬件網絡底層設備,工作在OSI模型的物理層,不具有交換機的”智能記憶”和”學習”的能力;也不具…

    Linux干貨 2016-08-29
  • vim文本編輯器

    Vim文本編輯器不能單獨編寫二進制文件,但是可以配合xxd命令編輯二進制文件 1、文本編輯種類: 行編輯器: sed 全屏編輯器:nano, vi、vim(其是改進的vi) 其他編輯器: Gedit,一個簡單的圖形編輯器 Gvim,一個Vim編輯器的圖形版本 2、打開文件 用法#vim  [OPTION]… FILE… +#…

    Linux干貨 2016-08-15
  • 第七周作業

    查看作業內容請移步此鏈接:http://www.cnblogs.com/wangenzhi/p/6403568.html

    Linux干貨 2017-02-15
  • 腳本編程之變量

    簡單跟大家介紹一下腳本編程中的變量。 大家都知道,腳本編程,主要由三個部分組成,一是命令,二是變量,三是控制語句。 變量的使用,可以讓腳本變得更加簡潔,高效。 我們主要簡單講一下變量的概念,變量的類型,變量的種類,不同種類的變量是如何定義的,變量的基本操作,以及變量的配置文件。 了解了這些,我們還可以聊一聊變量的高級操作。 首先,什么是變量? 通俗一點講:變…

    Linux干貨 2017-04-17
欧美性久久久久