項目目錄
/data/spring-boot
-----bin 放置啓動,停止腳本;-----disconf 存放disconf 下載的配置文件
-----logs
catalina.out.2018-06-04
catalina.out.2018-06-05
catalina.out
-----config 存放本地定製化application.properties 文件(目前主要是jdbc 信息)
------XXXX.jar (Spring boot打出的jar包)
啓動腳本 deploy.sh
#!/bin/bash
export JAVA_HOME=/usr/jdk1.8.0_161
#bin
BIN_DIR=`pwd`
echo "bin:"$BIN_DIR
cd ..
#spring-boot
DEPLOY_DIR=`pwd`
echo "deploy:"$DEPLOY_DIR
#appName
APP_NAME=$2
echo "app:"$APP_NAME
#jar
JAR=`find -name *.jar`
echo "jar:"$JAR
#disconf
DISCONF_OPTS="-Ddisconf.enable_local_download_dir_in_class_path=false -Ddisconf.app=$APP_NAME -Ddisconf.local_download_dir=$DEPLOY_DIR/disconf/download -Ddisconf.user_define_download_dir=$DEPLOY_DIR/disconf/download -Ddisconf.env=online -Ddisconf.version=4.0.0 -Ddisconf.enable.remote.conf=true -Ddisconf.conf_server_host=disconf.niwodai.com"
rm -rf $DEPLOY_DIR/disconf/download/*
echo "disconf:"$DISCONF_OPTS
#log
LOG_DIR=$DEPLOY_DIR/logs
echo "log:"$LOG_DIR
#log
LOG_FILE=$LOG_DIR/catalina.out
#JVM參數
JVM_OPTS="-Xms512M -Xmx1024M -XX:PermSize=256M -XX:MaxPermSize=512M -XX:+HeapDumpOnOutOfMemoryError -XX:+PrintGCDateStamps -XX:+PrintGCDetails -XX:NewRatio=1 -XX:SurvivorRatio=30 -XX:+UseParallelGC -XX:+UseParallelOldGC"
echo "jvm:"$JVM_OPTS
#DEBUG
DEBUG_OPTS="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8787"
function start() {
echo "Start $APP_NAME begin"
#nohup ${JAVA_HOME}/bin/java -jar $JVM_OPTS $DISCONF_OPTS $JAR >> $LOG_FILE 2>&1 &
nohup ${JAVA_HOME}/bin/java -jar $JVM_OPTS $DEBUG_OPTS $DISCONF_OPTS $JAR >> /dev/null 2>&1 &
#check
COUNT=0
while [ $COUNT -lt 1 ]; do
echo -e ".\c"
sleep 1
COUNT=`netstat -an | grep '8080' | wc -l`
if [ $COUNT -gt 0 ]; then
break
fi
done
echo -e "\n Start $APP_NAME ok"
}
function stop() {
PIDS=`ps -ef | grep java | grep 'jar' | grep $APP_NAME |awk '{print $2}'`
echo "pid:"$PIDS
if [ -z "$PIDS" ]; then
echo "ERROR: The app does not started!"
else
echo "Stop $APP_NAME "
for PID in $PIDS ; do
kill -9 $PID > /dev/null 2>&1
done
echo "stop OK!"
fi
}
function restart() {
stop
sleep 1
start
}
case $1 in
start)
start;;
stop)
stop;;
restart)
restart;;
status)
status;;
*)
echo -e "\033[0;31m Usage: \033[0m \033[0;34m sh $0 {start|stop|restart|status} {SpringBootJarName} \033[0m \033[0;31m Example: \033[0m \033[0;33m sh $0 start esmart-test.jar \033[0m"
esac
start.sh
sh deploy.sh restart 'loanweb'