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

#!/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

 

收藏 打印