安裝lnmp

#!/bin/bash
#FileName:  :AutoLNMP.sh
#Description:
#
#Author     :root
#Date       :2018-12-19 


export font_color back_color
font_color=31m
back_color=42

set_color(){
    echo -e "\033[$1m                                $2 \033[0m"
}

check_yum(){
    num=$(yum repolist | sed -n '$s/,//p' | awk -F: '{print $2}')
    #yum repolist | sed -n '/repolist/s/,//p' | awk -F: '{print $2}' 
    if [ $num -le 0 ];then
        set_color 31 無可用yum源
        exit 1 
    fi
}

menu(){
echo -e "\033[$back_color;$font_color                                                                  \033[1m"
echo '                         -------------------                      '
echo '                        |      菜單         |                     '
echo '                         -------------------                      '
echo '                        |  1>安裝nginx      |                     '
echo '                         -------------------                      '
echo '                        |  2>安裝mysql      |                     '
echo '                         -------------------                      '
echo '                        |  3>安裝php/python |                     '
echo '                         -------------------                      '
echo '                        |  4>更換菜單顏色   |                     '
echo '                         -------------------                      '
echo '                        |  5>退出           |                     '
echo '                         -------------------                      '
echo -e "\033[$back_color;$font_color                                                                  \033[0m"
read -p  '                          請輸入你的選擇:                        ' choise
clear
}

install_nginx(){
    
    set_color 32 正在安裝依賴。。。
    yum -y install gcc openssl-devel pcre-devel zlib-devel &> /dev/null
    #read -p '請輸入nginx源碼包所在路徑:' nginx_path
    
    set_color 32 正在建立系統用戶。。。
    id nginx &> /dev/null
    if [ $? -ne 0 ];then
        useradd -s /sbin/nologin nginx > /dev/null
    fi

    set_color 32 正在解壓源碼包。。。
    cd /root/lnmp_soft
    tar -xf nginx-1.12.2.tar.gz
    cd nginx-1.12.2
    
    set_color 32 正在進系統配置。。。
    ./configure --user=nginx --group=nginx --with-http_ssl_module \
                --with-stream --with-http_stub_status_module > /dev/null 
    
    set_color 32 正在編譯。。。
    make >/dev/null  
    
    set_color 32 正在安裝。。。
    make install >/dev/null
    if [ $? -eq 0 ];then
        set_color 32 "nginx install successful"
    else
        set_color 31 "nginx install failed"
        return
    fi
    ln -s /usr/local/nginx/sbin/nginx /sbin/ &>/dev/null
    nginx &> /dev/null
    if [ $? -eq 0 ];then
        set_color 32 'nginx啓動成功'
    fi
}

install_mysql(){
    yum -y install mariadb mariadb-server mariadb-devel > /dev/null
    if [ $? -eq 0 ];then
        set_color 32 "mysql install successful"
    else
        set_color 31 "mysql install failed"
    fi
    systemctl restart mariadb
    if [ $? -eq 0 ];then
        set_color 32 'mysql 成功啓動'
        systemctl status mariadb &>/dev/null && systemctl enable mariadb &>/dev/null
    fi    
}

install_php(){
    cd /root/lnmp_soft
    yum -y install php php-mysql &>/dev/null #&& yum -y install php-fpm-5.4.16-42.el7.x86_64.rpm  
    if [ $? -eq 0 ];then
        set_color 32 'php/php-mysql安裝成功'
    else
        set_color 31 'php 安裝失敗'
        return 1
    fi
    systemctl restart php-fpm 
    systemctl enable php-fpm
    systemctl status php-fpm
    if [ $? -eq 0 ];then
        set_color 32 'php 啓動成功'
    fi
}

chose(){
    case $choise in
    1)
        install_nginx
        ;;
    2)
        install_mysql
        ;;
    3)
        install_php
        ;;
    4)
        set_menu
        ;;
    5)
        exit
        ;;
    *)
        echo '                  請確認你輸入的選項在1-4之間!           '
        ;;
    esac
}
set_menu(){
    while :
        do
            echo '                             字體顏色'
            echo -e "                           \033[30m 30:黑色字 \033[0m"
            echo -e "                           \033[31m 31:紅色字 \033[0m"
            echo -e "                           \033[32m 32:綠色字 \033[0m"
            echo -e "                           \033[33m 33:黃色字 \033[0m"
            echo -e "                           \033[34m 34:藍色字 \033[0m"
            echo -e "                           \033[35m 35:紫色字 \033[0m"
            echo -e "                           \033[36m 36:天藍字 \033[0m"
            echo -e "                           \033[37m 37:白色字 \033[0m"
            read -p '                       請選擇顏色【30-37】:' font
            echo '                               背景顏色'
            echo -e "                           \033[40m 40:黑色  \033[0m"
            echo -e "                           \033[41m 41:紅色  \033[0m"
            echo -e "                           \033[42m 42:綠色  \033[0m"
            echo -e "                           \033[43m 43:黃色  \033[0m"
            echo -e "                           \033[44m 44:藍色  \033[0m"
            echo -e "                           \033[45m 45:紫色  \033[0m"
            echo -e "                           \033[46m 46:天藍  \033[0m"
            echo -e "                           \033[47m 47:白色  \033[0m"
            read -p '                       請選擇顏色【40-47】:' back 
            if [ $font -le 37 -a $font -ge 30 -a $back -le 47 -a  $back -ge 40 ];then
                font_color=${font}m
                back_color=$back
                break
            else
                echo -e "\033[31m                       你的輸入有誤,請從新輸入 \033[0m"
            fi
            
        done
}

clear
# 檢測本機yum源
check_yum

if [ $? -eq 0 ];then
    clear

    cd /root
    tar -xf lnmp_soft.tar.gz 
    cd /root/lnmp_soft

    while :
    do
        menu
        chose
    done
fi
相關文章
相關標籤/搜索