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

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

shell脚本一键安装nginx的更多相关文章

  1. Centos 6.4上面用Shell脚本一键安装vsftpd

    Centos 6.4上面用Shell脚本一键安装vsftpd install.sh #!/bin/bash if [ `uname -m` == "x86_64" ];then m ...

  2. Centos 6.4上面用Shell脚本一键安装mysql 5.6.15

    Centos 6.4上面用Shell脚本一键安装mysql 5.6.15  #!/bin/bash if [ `uname -m` == "x86_64" ];then machi ...

  3. 安装完Ubuntu后通过shell脚本一键安装软件

    安装完Ubuntu后通过shell脚本一键安装软件 以下代码中#是单行注释 :<<! ! 是多行注释. 运行的时候需要把多行注释去掉. 比如把以下代码保存为install.sh, 那么在终 ...

  4. shell脚本一键安装mysql5.7.x

    使用脚本一键安装mysql5.7.x,初始化数据库.启动数据库---- mysql版本号:源代码mysql5.7.10 linux版本号:centos6.5 x86_64 #!/bin/bash GR ...

  5. shell脚本一键安装mysql5.7.x(免安装版)

    使用脚本一键安装mysql5.7.x,初始化数据库,启动数据库---- mysql版本:源码mysql5.7.10 linux版本:centos6.5 x86_64 #!/bin/bash GROUP ...

  6. Shell脚本一键安装LNMP环境

    https://sourceforge.net/projects/opensourcefile/files/ Nginx是一款高性能的HTTP和反向代理服务器.Nginx在反向代理,Rewrite规则 ...

  7. shell脚本一键部署nginx

    一键部署nginx 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 ...

  8. shell脚本一键安装redis集群[最终版]

    直接上shell了. #!/bin/bash #---------------------------------------------------------------------------- ...

  9. shell脚本一键安装jdk

    直接上shell #!/bin/bash #offline jdk install ipath="/usr/local" installpath=$(cd `dirname $0` ...

随机推荐

  1. 初尝Web API《转》

    HTTP 并不是只能用在网页中.它其实还是一个强大的平台,可以用来生成一些API,暴露服务和数据.HTTP很简单灵活,还非常普及.几乎所有你能想到的平台都有HTTP库,所以HTTP服务可以囊括很大范围 ...

  2. H5页面分享微信自定义分享title和img

    前端开发H5 需分享到朋友圈和发给好友,想自定义分享的title和图表还有简短一句话,还需调用微信的api 首先需获取到微信的appId,timestamp,nonceStr,signature 微信 ...

  3. Windows服务器时间不同步问题

    一台域内的服务器时间不停地被修改,我先向用户收集了一些信息 只有这一台出现此问题,其他服务器均为正常(补充一下,问题快解决完的时候用户告诉我一个重要的消息,就是时间被修改了一段时间后自动会被修改回去) ...

  4. python快速开发Web之Django

    以前写测试框架,要么是纯python代码驱动的,要么是WinForm界面的框架,多人操作并不适合. 就想用python写个Web版的,于是想到了Web快速开发的框架Flask和Django两个 个人觉 ...

  5. hibernate.validator.constraints.NotEmpty校验请求参数报错java.lang.NoClassDefFoundError: javax/el/PropertyNotFoundException

    spring maven项目,使用hibernate validator 注解形式校验客户端的请求参数. hibernate-validator版本:5.0.2.Final validation-ap ...

  6. php开启pdo扩展

    在Windows环境下php 5.1以上版本中,pdo和主要数据库的驱动同php一起作为扩展发布,要激活它们只需要简单地编辑php.ini文件. 打开php.ini配置文件,找到extension=p ...

  7. vue框架(三)_vue引入jquery、bootstrap

    一.vue安装jquery 1.按照之前博客的内容,新建一个vue工程. 2.在项目文件夹下,使用命令npm install jquery --save-dev 引入jquery. 3.在build/ ...

  8. Exception in Spark

    1: Exception in thread "main" org.apache.spark.SparkException: org.apache.spark.streaming. ...

  9. Rstudio 01 连接MySQL

    > install.packages("RMySQL") also installing the dependency ‘DBI’ trying URL 'https://c ...

  10. caffe的model参数解析numpy多维数组的存取

    在caffe的参数进行Python解析时,需要对模型的wight和bias的参数进行解析,为了提高结果解析的可读性,需要用numpy将解析的文件进行保存 此时用到np.savetxt方法和np.sav ...