当前位置: 移动技术网 > 科技>操作系统>Linux > shell脚本一键安装nginx

shell脚本一键安装nginx

2018年12月05日  | 移动技术网科技  | 我要评论

依赖包安装包放在一起, 直接执行这个脚本就行。

#!/bin/bash
#------------------------------------------------------------------------------------------------------------------#
#------------------------------------------------------------------------------------------------------------------#
#|                                            chenglee public nginx                                               |#
#|                                            version: nginx-1.9.10                                               |#
#|                                            version: openssl-1.1.0f                                             |#
#|                                            version: pcre-8.40                                                  |#
#|                                            version: zlib-1.2.11                                                |#
#|                                               2018.12.04                                                       |# 
#------------------------------------------------------------------------------------------------------------------#
#|          some people die at the age of 25 and don't bury themselves in the earth until they are 75             |#
#------------------------------------------------------------------------------------------------------------------#
#|                      $$$$ $$   $$ $$$$$$ $$    $$   $$$$$$          $$     $$$$$$ $$$$$$                       |#
#|                     $$    $$   $$ $$     $$ $$ $$  $$               $$     $$     $$                           |#
#|                    $$     $$$$$$$ $$$$$  $$  $$ $ $$  $$$$$$        $$     $$$$$  $$$$$                        |#
#|                     $$    $$   $$ $$     $$   $ $  $$     $$        $$     $$     $$                           |#
#|                      $$$$ $$   $$ $$$$$$ $$    $$   $$$$$ $$        $$$$$$ $$$$$$ $$$$$$                       |#
#------------------------------------------------------------------------------------------------------------------#
k_nginx="nginx-1.9.10.tar.gz"
k_pcre="pcre-8.40.tar.gz"
k_openssl="openssl-1.1.0f.tar.gz"
k_zlib="zlib-1.2.11.tar.gz"
prename="nginx"
installpath=$(cd `dirname $0`; pwd)

function environment(){
    echo "-----------------------------------------------------------------------"
    echo "------------------------  check gcc  ----------------------------------"
    echo "-----------------------------------------------------------------------"
    gccbin=`which gcc`
    gccv=$(echo $gccbin | grep "gcc")
    if [[ "$gccv" != "" ]]
    then
        echo "gcc was installed "
    else
        echo "install gcc"
        yum install gcc gcc-c++ -y >/dev/null 2>&1
    fi 
}

function initialize(){
    installpath=$(cd `dirname $0`; pwd)
    cd ${installpath}
    cd ${prename}/lib/openssl* && opensslpath=`pwd`
    cd ${installpath}
    cd ${prename}/lib/pcre* && pcrepath=`pwd`
    cd ${installpath}
    cd ${prename}/lib/zlib* && zlibpath=`pwd`
    cd ${installpath}
}

function installssl(){
    echo "-----------------------------------------------------------------------"
    echo "----------------------  install openssl  ------------------------------"
    echo "-----------------------------------------------------------------------"
    mkdir -p logs ${prename}/lib && touch logs/{openssl.log,pcre.log,zlib.log,nginx.log}
    #openss
    tar -zxvf ${k_openssl} -c ${prename}/lib >/dev/null 2>&1
    cd ${prename}/lib/openssl* && opensslpath=`pwd`
    ./config --prefix=${opensslpath} >${installpath}/logs/openssl.log >/dev/null 2>&1
    if [[ $? -ne 0 ]]; then
        return 1
    else
        make && make install >${installpath}/logs/openssl.log
        if [[ $? -ne 0 ]]; then
            return 1
        fi
        return 0
    fi
}
function installpcre(){
    echo "-----------------------------------------------------------------------"
    echo "----------------------  install pcre  ---------------------------------"
    echo "-----------------------------------------------------------------------"
    #pcre
    cd ${installpath}
    tar -zxvf ${k_pcre} -c ${prename}/lib >/dev/null 2>&1
    cd ${prename}/lib/pcre* && pcrepath=`pwd`
    ./configure --prefix=${pcrepath} >${installpath}/logs/pcre.log >/dev/null 2>&1
    if [[ $? -ne 0 ]]; then
        return 1
    else
        make && make install >${installpath}/logs/pcre.log
        if [[ $? -ne 0 ]]; then
            return 1
        fi
        return 0
    fi
}
function installzlib(){
    echo "-----------------------------------------------------------------------"
    echo "----------------------  install zlib  ---------------------------------"
    echo "-----------------------------------------------------------------------"
    #zlib
    cd ${installpath}
    tar -zxvf ${k_zlib} -c ${prename}/lib >/dev/null 2>&1
    cd ${prename}/lib/zlib* && zlibpath=`pwd`
    ./configure --prefix=${zlibpath} >${installpath}/logs/zlib.log >/dev/null 2>&1
    if [[ $? -ne 0 ]]; then
        return 1
    else
        make && make install >${installpath}/logs/zlib.log
        if [[ $? -ne 0 ]]; then
            return 1
        fi
        return 0
    fi
}
function installnginx(){
    echo "-----------------------------------------------------------------------"
    echo "----------------------  install nginx  --------------------------------"
    echo "-----------------------------------------------------------------------"
    #nginx
    cd ${installpath}
    initialize
    tar -zxvf ${k_nginx} >/dev/null 2>&1
    cd nginx-* && nginxpath=`pwd`
    ./configure --prefix=${installpath}/${prename} --with-pcre=${pcrepath} --with-openssl=${opensslpath} --with-zlib=${zlibpath}
    if [[ $? -ne 0 ]]; then
        return 1
    else
        make && make install >${installpath}/logs/nginx.log
        if [[ $? -ne 0 ]]; then
            return 1
        fi
        return 0
    fi
}

environment
installssl
installpcre
installzlib
installnginx

 

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网