start.sh 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. #!/bin/bash
  2. set -o nounset # 遇到没定义的变量报错后,终止继续执行脚本文件
  3. set -o errexit # 执行失败以后,终止继续执行脚本文件
  4. # 平滑关闭和启动 Spring Boot 应用
  5. # 给脚本增加执行权限
  6. # chmod +x start.sh
  7. # Jar包应用名称
  8. # ./bin/start.sh marketing-auth-server_test_20200514225829.jar
  9. # JAR_NAME=marketing-auth-server_test_20200514225829.jar
  10. # APPLICATION_NAME=marketing-auth-server
  11. JAR_NAME=$1
  12. APPLICATION_NAME=${JAR_NAME%%_*}
  13. # 应用启动环境
  14. SPRING_PROFILES_ACTIVE='dev'
  15. # 应用启动后日志输出目录
  16. LOG_PATH='./logs/log-info.log'
  17. JVM_OPTIONS='-Dloader.path=./lib'
  18. JAVA_OPTIONS=' --spring.profiles.active=dev --spring.config.location=file:./conf/ --logging.config=file:./conf/logback.xml'
  19. #JAVA_OPTS='-Xms128m -Xmx512m -XX:NewSize=128m -XX:MaxNewSize=512m -XX:MetaspaceSize=64m -XX:MaxMetaspaceSize=128m -XX:NewRatio=2 -XX:MaxTenuringThreshold=8 -XX:+DisableExplicitGC'
  20. # 应用端口
  21. # SERVER_PORT='8080'
  22. # echo nohup java -jar $JAVA_OPTIONS $JAR_NAME --server.port=$SERVER_PORT --spring.profiles.active=$SPRING_PROFILES_ACTIVE > /dev/null &
  23. # nohup java -jar $JAVA_OPTIONS $JAR_NAME --server.port=$SERVER_PORT --spring.profiles.active=$SPRING_PROFILES_ACTIVE > /dev/null &
  24. echo "---------- ---------- 停止应用 ---------- ----------"
  25. . ./bin/stop.sh ${APPLICATION_NAME}
  26. echo "---------- ---------- 停止应用 ---------- ----------"
  27. echo -e "\n\n\n"
  28. echo "---------- ---------- 启动应用 ---------- ----------"
  29. echo '【'$APPLICATION_NAME'】服务正在启动... ...'
  30. # 非挂起方式启动应用,并且跟踪启动日志文件
  31. nohup java $JVM_OPTIONS -jar $JAR_NAME $JAVA_OPTIONS > /dev/null 2>&1 &
  32. # 将jar包启动对应的pid写入文件中,为停止时提供pid
  33. echo $APPLICATION_NAME '启动后的pid:' $!
  34. echo $! > ${APPLICATION_NAME}.pid
  35. sleep 5s
  36. echo "---------- ---------- 启动应用 ---------- ----------"