安装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 "33[$1m                                $2 33[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 "33[$back_color;$font_color                                                                  33[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 "33[$back_color;$font_color                                                                  33[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 "                           33[30m 30:黑色字 33[0m"
            echo -e "                           33[31m 31:红色字 33[0m"
            echo -e "                           33[32m 32:绿色字 33[0m"
            echo -e "                           33[33m 33:黄色字 33[0m"
            echo -e "                           33[34m 34:蓝色字 33[0m"
            echo -e "                           33[35m 35:紫色字 33[0m"
            echo -e "                           33[36m 36:天蓝字 33[0m"
            echo -e "                           33[37m 37:白色字 33[0m"
            read -p '                       请选择颜色【30-37】:' font
            echo '                               背景颜色'
            echo -e "                           33[40m 40:黑色  33[0m"
            echo -e "                           33[41m 41:红色  33[0m"
            echo -e "                           33[42m 42:绿色  33[0m"
            echo -e "                           33[43m 43:黄色  33[0m"
            echo -e "                           33[44m 44:蓝色  33[0m"
            echo -e "                           33[45m 45:紫色  33[0m"
            echo -e "                           33[46m 46:天蓝  33[0m"
            echo -e "                           33[47m 47:白色  33[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 "33[31m                       你的输入有误,请重新输入 33[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
原文地址:https://www.cnblogs.com/ray-mmss/p/10160325.html