新建一个文本文件,将以下代码复制进去,保存后将文件后缀名改为.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 [ -f "$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 [ -f "$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 [ -f "$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 [ -f "$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
-