|
|
|
#!/bin/bash
|
|
|
|
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin:/opt/homebrew/bin
|
|
|
|
export PATH
|
|
|
|
|
|
|
|
# cd /Users/midoks/Desktop/mwdev/server/mdserver-web/plugins/openresty && bash install.sh install 1.21.4.2
|
|
|
|
# cd /www/server/mdserver-web/plugins/openresty && bash install.sh install 1.21.4.2
|
|
|
|
|
|
|
|
curPath=`pwd`
|
|
|
|
rootPath=$(dirname "$curPath")
|
|
|
|
rootPath=$(dirname "$rootPath")
|
|
|
|
serverPath=$(dirname "$rootPath")
|
|
|
|
|
|
|
|
sysName=`uname`
|
|
|
|
action=$1
|
|
|
|
type=$2
|
|
|
|
|
|
|
|
VERSION=$2
|
|
|
|
install_tmp=${rootPath}/tmp/mw_install.pl
|
|
|
|
openrestyDir=${serverPath}/source/openresty
|
|
|
|
|
|
|
|
if id www &> /dev/null ;then
|
|
|
|
echo "www uid is `id -u www`"
|
|
|
|
echo "www shell is `grep "^www:" /etc/passwd |cut -d':' -f7 `"
|
|
|
|
else
|
|
|
|
groupadd www
|
|
|
|
useradd -g www -s /bin/bash www
|
|
|
|
fi
|
|
|
|
|
|
|
|
if [ "$sysName" == "Darwin" ];then
|
|
|
|
BAK='_bak'
|
|
|
|
else
|
|
|
|
BAK=''
|
|
|
|
fi
|
|
|
|
|
|
|
|
Install_openresty()
|
|
|
|
{
|
|
|
|
if [ -d $serverPath/openresty ];then
|
|
|
|
exit 0
|
|
|
|
fi
|
|
|
|
|
|
|
|
# ----- cpu start ------
|
|
|
|
if [ -z "${cpuCore}" ]; then
|
|
|
|
cpuCore="1"
|
|
|
|
fi
|
|
|
|
|
|
|
|
if [ -f /proc/cpuinfo ];then
|
|
|
|
cpuCore=`cat /proc/cpuinfo | grep "processor" | wc -l`
|
|
|
|
fi
|
|
|
|
|
|
|
|
MEM_INFO=$(free -m|grep Mem|awk '{printf("%.f",($2)/1024)}')
|
|
|
|
if [ "${cpuCore}" != "1" ] && [ "${MEM_INFO}" != "0" ];then
|
|
|
|
if [ "${cpuCore}" -gt "${MEM_INFO}" ];then
|
|
|
|
cpuCore="${MEM_INFO}"
|
|
|
|
fi
|
|
|
|
else
|
|
|
|
cpuCore="1"
|
|
|
|
fi
|
|
|
|
|
|
|
|
if [ "$cpuCore" -gt "2" ];then
|
|
|
|
cpuCore=`echo "$cpuCore" | awk '{printf("%.f",($1)*0.8)}'`
|
|
|
|
else
|
|
|
|
cpuCore="1"
|
|
|
|
fi
|
|
|
|
# ----- cpu end ------
|
|
|
|
|
|
|
|
mkdir -p ${openrestyDir}
|
|
|
|
echo '正在安装脚本文件...'
|
|
|
|
|
|
|
|
# wget -O openresty-1.21.4.1.tar.gz https://openresty.org/download/openresty-1.21.4.1.tar.gz
|
|
|
|
if [ ! -f ${openrestyDir}/openresty-${VERSION}.tar.gz ];then
|
|
|
|
wget --no-check-certificate -O ${openrestyDir}/openresty-${VERSION}.tar.gz https://openresty.org/download/openresty-${VERSION}.tar.gz -T 3
|
|
|
|
fi
|
|
|
|
|
|
|
|
DOWNLOAD_SIZE=`wc -c ${openrestyDir}/openresty-${VERSION}.tar.gz | awk '{print $1}'`
|
|
|
|
if [ "$DOWNLOAD_SIZE" == "0" ];then
|
|
|
|
echo 'download failed, download again'
|
|
|
|
rm -rf ${openrestyDir}/openresty-${VERSION}.tar.gz
|
|
|
|
fi
|
|
|
|
|
|
|
|
# Last Download Method
|
|
|
|
if [ ! -f ${openrestyDir}/openresty-${VERSION}.tar.gz ];then
|
|
|
|
wget --no-check-certificate -O ${openrestyDir}/openresty-${VERSION}.tar.gz http://dl.midoks.me/soft/openresty/openresty-${VERSION}.tar.gz -T 3
|
|
|
|
fi
|
|
|
|
|
|
|
|
cd ${openrestyDir} && tar -zxvf openresty-${VERSION}.tar.gz
|
|
|
|
|
|
|
|
OPTIONS=''
|
|
|
|
if [ "$VERSION" == "1.19.3.1" ]; then
|
|
|
|
OPTIONS="${OPTIONS} --with-ipv6"
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
|
|
opensslVersion="1.1.1p"
|
|
|
|
pcreVersion='8.38'
|
|
|
|
if [ "$sysName" == "Darwin" ];then
|
|
|
|
|
|
|
|
if [ ! -f ${openrestyDir}/pcre-${pcreVersion}.tar.gz ];then
|
|
|
|
wget --no-check-certificate -O ${openrestyDir}/pcre-${pcreVersion}.tar.gz https://netix.dl.sourceforge.net/project/pcre/pcre/${pcreVersion}/pcre-${pcreVersion}.tar.gz
|
|
|
|
fi
|
|
|
|
|
|
|
|
if [ ! -d ${openrestyDir}/pcre-${pcreVersion} ];then
|
|
|
|
cd ${openrestyDir} && tar -zxvf pcre-${pcreVersion}.tar.gz
|
|
|
|
fi
|
|
|
|
OPTIONS="${OPTIONS} --with-pcre=${openrestyDir}/pcre-${pcreVersion}"
|
|
|
|
|
|
|
|
|
|
|
|
if [ ! -f ${openrestyDir}/openssl-${opensslVersion}.tar.gz ];then
|
|
|
|
wget --no-check-certificate -O ${openrestyDir}/openssl-${opensslVersion}.tar.gz https://www.openssl.org/source/openssl-${opensslVersion}.tar.gz
|
|
|
|
fi
|
|
|
|
|
|
|
|
if [ ! -d ${openrestyDir}/openssl-${opensslVersion} ];then
|
|
|
|
cd ${openrestyDir} && tar -zxvf openssl-${opensslVersion}.tar.gz
|
|
|
|
fi
|
|
|
|
OPTIONS="${OPTIONS} --with-openssl=${openrestyDir}/openssl-${opensslVersion}"
|
|
|
|
|
|
|
|
# BREW_DIR=`which brew`
|
|
|
|
# BREW_DIR=${BREW_DIR/\/bin\/brew/}
|
|
|
|
|
|
|
|
# brew info openssl@1.1 | grep /opt/homebrew/Cellar/openssl@1.1 | cut -d \ -f 1 | awk 'END {print}'
|
|
|
|
# OPENSSL_LIB_DEPEND_DIR=`brew info openssl@1.1 | grep ${BREW_DIR}/Cellar/openssl@1.1 | cut -d \ -f 1 | awk 'END {print}'`
|
|
|
|
# OPTIONS="${OPTIONS} --with-openssl=${OPENSSL_LIB_DEPEND_DIR}"
|
|
|
|
fi
|
|
|
|
|
|
|
|
# --with-openssl=$serverPath/source/lib/openssl-1.0.2q
|
|
|
|
cd ${openrestyDir}/openresty-${VERSION} && ./configure \
|
|
|
|
--prefix=$serverPath/openresty \
|
|
|
|
$OPTIONS \
|
|
|
|
--with-stream \
|
|
|
|
--with-http_v2_module \
|
|
|
|
--with-http_ssl_module \
|
|
|
|
--with-http_slice_module \
|
|
|
|
--with-http_stub_status_module \
|
|
|
|
--with-http_sub_module \
|
|
|
|
--with-http_realip_module
|
|
|
|
# --without-luajit-gc64
|
|
|
|
# --with-debug
|
|
|
|
# 用于调式
|
|
|
|
|
|
|
|
CMD_MAKE=`which gmake`
|
|
|
|
if [ "$?" == "0" ];then
|
|
|
|
gmake -j${cpuCore} && gmake install && gmake clean
|
|
|
|
else
|
|
|
|
make -j${cpuCore} && make install && make clean
|
|
|
|
fi
|
|
|
|
|
|
|
|
if [ -d $serverPath/openresty ];then
|
|
|
|
echo "${VERSION}" > $serverPath/openresty/version.pl
|
|
|
|
|
|
|
|
mkdir -p $serverPath/web_conf/php/conf
|
|
|
|
echo 'set $PHP_ENV 0;' > $serverPath/web_conf/php/conf/enable-php-00.conf
|
|
|
|
|
|
|
|
#初始化
|
|
|
|
cd ${rootPath} && python3 ${rootPath}/plugins/openresty/index.py start
|
|
|
|
cd ${rootPath} && python3 ${rootPath}/plugins/openresty/index.py initd_install
|
|
|
|
rm -rf $openrestyDir/openresty-${VERSION}
|
|
|
|
fi
|
|
|
|
|
|
|
|
if [ -d ${openrestyDir}/pcre-${pcreVersion} ];then
|
|
|
|
rm -rf ${openrestyDir}/pcre-${pcreVersion}
|
|
|
|
fi
|
|
|
|
|
|
|
|
if [ -d ${openrestyDir}/openssl-${opensslVersion} ];then
|
|
|
|
rm -rf ${openrestyDir}/openssl-${opensslVersion}
|
|
|
|
fi
|
|
|
|
echo '安装完成'
|
|
|
|
}
|
|
|
|
|
|
|
|
Uninstall_openresty()
|
|
|
|
{
|
|
|
|
|
|
|
|
if [ -f /usr/lib/systemd/system/openresty.service ] || [ -f /lib/systemd/system/openresty.service ];then
|
|
|
|
systemctl stop openresty
|
|
|
|
rm -rf /usr/systemd/system/openresty.service
|
|
|
|
rm -rf /lib/systemd/system/openresty.service
|
|
|
|
systemctl daemon-reload
|
|
|
|
fi
|
|
|
|
|
|
|
|
if [ -f $serverPath/openresty/init.d/openresty ];then
|
|
|
|
$serverPath/openresty/init.d/openresty stop
|
|
|
|
fi
|
|
|
|
|
|
|
|
rm -rf $serverPath/openresty
|
|
|
|
echo '卸载完成'
|
|
|
|
}
|
|
|
|
|
|
|
|
action=$1
|
|
|
|
if [ "${1}" == 'install' ];then
|
|
|
|
Install_openresty
|
|
|
|
else
|
|
|
|
Uninstall_openresty
|
|
|
|
fi
|