分享个 Nginx-1.20升级脚本
注意下,脚本可能无法直接使用,需把编译包放到相应的下载地址,提供参考
先准备一些东西
这部分是需要注意的,提前下载这4类编译包
nginx-1.20.1.tar.gz,openssl-1.1.1k.tar.gz,pcre-8.44.tar.gz,zlib-1.2.11.tar.gz
这部分是需要看看修改的
#升级nginx-edit mkdir /usr/local/src/nginx-2021 -p cd /usr/local/src/nginx-2021 test -f nginx.tar.gz || wget http://mirrors.com.cn/redhat/0601/nginx.tar.gz tar -xf nginx.tar.gz tar -xf nginx-1.20.1.tar.gz tar -xf openssl-1.1.1k.tar.gz tar -xf pcre-8.44.tar.gz tar -xf zlib-1.2.11.tar.gz
话不多说,直接上脚本吧
#!/bin/bash ################################################################# ###### update nginx scirpt ######### ###### Author:kyle ##### ###### Date:2021/06/02 ##### ################################################################# #检测nginx nginx_sbin=`ps -ef | grep nginx | grep sbin | awk 'END{print $(NF-0)}'` nginx_conf=`$nginx_sbin -t &> nginx_path && cat nginx_path | awk 'END{print $(NF-3)}'` && rm -f ./nginx_path #未检测到定义默认路径 test -f $nginx_sbin || nginx_sbin="/usr/sbin/nginx" test -d $nginx_conf || nginx_conf=`$nginx_sbin -t &> nginx_path && cat nginx_path | awk 'END{print $(NF-3)}'` && rm -f ./nginx_path if [ -z $nginx_sbin ]; then echo "error,未检测到nginx" exit fi if [ -z $nginx_conf ]; then echo "error,未检测到nginx.conf配置文件" exit fi DATE=$(date +%Y%m%d) #备份nginx cp -a $nginx_sbin ${nginx_sbin}.bak${DATE} cp -a $nginx_conf ${nginx_conf}.bak${DATE} #升级nginx-edit mkdir /usr/local/src/nginx-2021 -p cd /usr/local/src/nginx-2021 test -f nginx.tar.gz || wget http://mirrors.com.cn/redhat/0601/nginx.tar.gz tar -xf nginx.tar.gz tar -xf nginx-1.20.1.tar.gz tar -xf openssl-1.1.1k.tar.gz tar -xf pcre-8.44.tar.gz tar -xf zlib-1.2.11.tar.gz #生成编译参数 prefix=`/usr/local/nginx/sbin/nginx -V &> nginx_tmp && cat nginx_tmp` oldpcre=`for i in $prefix; do echo $i; done | grep with-pcre | sed 's/\//\\\\\//g'` oldopenssl=`for i in $prefix; do echo $i; done | grep with-openssl | sed 's/\//\\\\\//g'` oldzlib=`for i in $prefix; do echo $i; done | grep with-zlib | sed 's/\//\\\\\//g'` pcre="--with-pcre=\/usr\/local\/src\/nginx-2021\/pcre-8.44" #edit openssl="--with-openssl=\/usr\/local\/src\/nginx-2021\/openssl-1.1.1k" #edit zlib="--with-zlib=\/usr\/local\/src\/nginx-2021\/zlib-1.2.11" #edit prefix=`cat nginx_tmp | grep configure | sed 's/configure arguments: //'` echo $prefix > nginx_tmp test -z $oldpcre || sed "s/${oldpcre}/$pcre/" ./nginx_tmp | test -z ${oldopenssl} || sed "s/${oldopenssl}/$openssl/" ./nginx_tmp | test -z ${oldzlib} || sed "s/${oldzlib}/$zlib/" ./nginx_tmp prefix=`cat nginx_tmp` && rm -f ./nginx_tmp #开始编译 cd /usr/local/src/nginx-2021/nginx-1.20.1 #edit ./configure $prefix if [ $? -ne 0 ]; then echo "Configure nginx has encountered an error" exit fi make if [ $? -ne 0 ]; then echo "make nginx has encountered an error" exit fi #替换sbin文件 objs/nginx -t if [ $? -ne 0 ]; then echo "nginx update error" exit else rm -f $nginx_sbin && cp -a objs/nginx $nginx_sbin fi $nginx_sbin -s reload echo "#########################################################" echo "################ #################" echo "################ nginx update sucess ################" echo "################ #################" echo "#########################################################" echo "############### nginx version ############################################### " echo "################################################################################### " $nginx_sbin -V
代码下载:点击