zoukankan      html  css  js  c++  java
  • shell脚本一键安装nginx

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

    #!/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
    
  • 相关阅读:
    WPF 调用WINForm中的ColorDialog
    WPF 获取ControlTemplate 中的控件方法
    <转> 8个超棒的免费高质量图标搜索引擎
    WPF 右键菜单动画
    WPF 创建超级连接
    WPF 数据模板的切换简单事例
    WPF 关于ShowDialog后主窗体依然能响应键盘输入法的解决方案。
    <转>强制类型转换总结
    WPF 中的MessageBox返回值获取并判断
    WPF数据绑定实现自定义数据源
  • 原文地址:https://www.cnblogs.com/chenglee/p/10069172.html
Copyright © 2011-2022 走看看