Bootstrap

nginx一键部署shell脚本

nginx一键部署shell脚本

新建一个文本文件,将以下代码复制进去,保存后将文件后缀名改为.sh,然后将文件上传至服务器
给文件添加执行权限chmod 744 nginx-install.sh
执行该脚本
安装成功后在脚本所在目录会存在下载的安装包以及解压后的文件,可直接删除

注意:

保证服务器已是联网状态,若服务器无法连接网络,请手动将安装包下载并上传到服务器,并与脚本保持在同级目录
下载地址:
nginx: http://nginx.p2hp.com/download/nginx-1.22.0.tar.gz
openssl: https://www.openssl.org/source/openssl-1.1.1s.tar.gz
pcre: https://sourceforge.net/projects/pcre/files/pcre/8.45/pcre-8.45.tar.gz/download
zlib: https://www.zlib.net/fossils/zlib-1.2.13.tar.gz

#!/bin/bash
yum install -y gcc gcc-c++ wget

if [ -f ./openssl-1.1.1s.tar.gz ]; then
    echo "openssl-1.1.1s.tar.gz already exists!"
else
    wget https://www.openssl.org/source/openssl-1.1.1s.tar.gz --no-check-certificate
    if [ $? -ne "0" ]; then
        echo "download openssl-1.1.1s.tar.gz failed!"
        exit 1
    fi
fi
if [ -f ./pcre-8.45.tar.gz ]; then
    echo "pcre-8.45.tar.gz already exists!"
else
    wget https://sourceforge.net/projects/pcre/files/pcre/8.45/pcre-8.45.tar.gz/download --no-check-certificate
    if [ $? -ne "0" ]; then
        echo "download pcre-8.45.tar.gz failed!"
        exit 1
    fi
    mv download pcre-8.45.tar.gz
    if [ $? -ne "0" ]; then
        echo "change file name failed! please execute command `mv download pcre-8.45.tar.gz` manually"
        exit 1
    fi
fi
if [ -f ./zlib-1.2.13.tar.gz ]; then
    echo "zlib-1.2.13.tar.gz already exists!"
else
    wget https://www.zlib.net/fossils/zlib-1.2.13.tar.gz --no-check-certificate
    if [ $? -ne "0" ]; then
        echo "download zlib-1.2.13.tar.gz failed!"
        exit 1
    fi
fi
if [ -f ./nginx-1.22.0.tar.gz ]; then
    echo "nginx-1.22.0.tar.gz already exists!"
else
    wget http://nginx.p2hp.com/download/nginx-1.22.0.tar.gz --no-check-certificate
    if [ $? -ne "0" ]; then
        echo "download nginx-1.22.0.tar.gz failed!"
        exit 1
    fi
fi

CURRENT_PATH=`pwd`

OPENSSL= /usr/local/openssl
if [ -d "$OPENSSL" ]; then
    echo "$OPENSSL exist!"
else 
    mkdir $OPENSSL
    cd $CURRENT_PATH
    echo "creat $OPENSSL success!"
    echo "start install openssl ..."
    tar -xzvf openssl-1.1.1s.tar.gz
    if [ $? -ne "0" ]; then
        echo "extract openssl-1.1.1s.tar.gz failed!"
        exit 1
    fi
    cd ./openssl-1.1.1s
    ./config --prefix=/usr/local/openssl 
    ./config -t
     if [ $? -ne "0" ]; then
        echo "configure openssl failed!"
        cd ..
        exit 1
    fi
    make && make install
    if [ $? -ne "0" ]; then
        echo "install openssl failed!"
        cd ..
        exit 1
    fi
    echo "install openssl success!"
    cd ..
   
fi



PCRE= /usr/local/pcre
if [ -d "$PCRE" ]; then
    echo "$PCRE exist!"
else 
    mkdir $PCRE
    cd $CURRENT_PATH
    echo "creat $PCRE success!"
    echo "start install pcre ..."
    tar -xzvf pcre-8.45.tar.gz
    if [ $? -ne "0" ]; then
        echo "extract pcre-8.45.tar.gz failed!"
        exit 1
    fi
    cd pcre-8.45/
    ./configure --prefix=/usr/local/pcre
    if [ $? -ne "0" ]; then
        echo "configure pcre failed!"
        cd ..
        exit 1
    fi
    make && make install
    if [ $? -ne "0" ]; then
        echo "install pcre failed!"
        cd ..
        exit 1
    fi
    echo "install pcre success!"
    cd ..   
fi



ZLIB= /usr/local/zlib
if [ -d "$ZLIB" ]; then
    echo "$ZLIB exist!"
else 
    mkdir $ZLIB
    echo "creat $ZLIB success!"
    echo "start install zlib ..."
    tar -xzvf zlib-1.2.13.tar.gz
    if [ $? -ne "0" ]; then
        echo "extract zlib-1.2.13.tar.gz failed!"
        exit 1
    fi
    cd zlib-1.2.13/
    ./configure --prefix=/usr/local/zlib
    if [ $? -ne "0" ]; then
        echo "configure zlib failed!"
        cd ..
        exit 1
    fi
    make && make install
    if [ $? -ne "0" ]; then
        echo "install zlib failed!"
        cd ..
        exit 1
    fi
    echo "install zlib success!"
    cd ..   
fi

NGINX=/usr/local/nginx
SOURCE_OPENSSL=$CURRENT_PATH/openssl-1.1.1s
SOURCE_PCRE=$CURRENT_PATH/pcre-8.45
SOURCE_ZLIB=$CURRENT_PATH/zlib-1.2.13
if [ -d "$NGINX" ]; then
    echo "$NGINX exist!"
else 
    mkdir $NGINX
    echo "creat $NGINX success!"
    echo "start install nginx ..."
    tar -xzvf nginx-1.22.0.tar.gz
    if [ $? -ne "0" ]; then
        echo "extract zlib-1.2.13.tar.gz failed!"
        exit 1
    fi
    cd nginx-1.22.0/
    ./configure --prefix=/usr/local/nginx --with-openssl=$SOURCE_OPENSSL --with-pcre=$SOURCE_PCRE --with-zlib=$SOURCE_ZLIB
    if [ $? -ne "0" ]; then
        echo "configure nginx failed!"
        cd ..
        exit 1
    fi
    make && make install
    if [ $? -ne "0" ]; then
        echo "install nginx failed!"
        cd ..
        exit 1
    fi
    echo "install nginx success!"
    if [ -f $NGINX/sbin/nginx ]; then
        $NGINX/sbin/nginx
        if [ $? -eq "0" ]; then
            echo "ngix is running ... "
        fi
    fi
    cd ..  
fi
;