文件服务后台
您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符
 
 
 
 
 
 

93 行
3.0 KiB

  1. #!/bin/bash
  2. ################################################################################
  3. # FILE: start.sh
  4. # USAGE:
  5. # DESCRIPTION: This script used to run the gxzb-api
  6. # OPTIONS: ---
  7. # BUGS: ---
  8. # NOTES: ---
  9. # AUTHOR: niuzhiqiang, niuzhiqiang90@foxmail.com
  10. # ORGANIZATION:
  11. # CREATED: Wed 28 Nov 2018 11:46:59 AM CST
  12. # REVISION: 1.0.0
  13. ################################################################################
  14. set -o nounset
  15. declare -r bin_name=$(dirname $0)
  16. declare -r bin_dir=$(cd "$bin_name"; pwd)
  17. declare -r bin_pdir=$(dirname $bin_name)
  18. declare -r svc_bin="./libs/gxzb-api-1.0.0.jar"
  19. declare -r svc_log="./logs/gxzb.api.log"
  20. declare -r svc_pid_file="./proc.pid"
  21. ###############################################################################
  22. # get java home
  23. ###############################################################################
  24. function get_java_home()
  25. {
  26. if [[ -d $HOME/opt/jdk/1.8.0 ]]; then
  27. java_home="${HOME}/opt/jdk/1.8.0"
  28. elif [[ -d $HOME/opt/jdk-1.8.0 ]]; then
  29. java_home="${HOME}/opt/jdk-1.8.0"
  30. elif [[ -d /opt/jdk-1.8.0 ]]; then
  31. java_home="/opt/jdk-1.8.0"
  32. fi
  33. echo ${java_home}
  34. }
  35. ################################################################################
  36. # run rongxin loan api gateway
  37. # Arguments:
  38. # Returns:
  39. #
  40. # Commits:
  41. ################################################################################
  42. function run_svc_bin()
  43. {
  44. local ip_address=$1
  45. local svc_port=$2
  46. local java_home=$(get_java_home)
  47. local JAVA_CMD="${java_home}/bin/java -Dspring.profiles.active=${NODE_ENV}"
  48. if [[ $NODE_ENV == "dev" ]]; then
  49. local db_name="rongxin_gxzb"
  50. NODE_HOST=${ip_address} NODE_PORT=${svc_port} ${JAVA_CMD} -Xms1024M -Xmx1024M -Xmn512M -jar ${svc_bin} >> ${svc_log} 2>&1 &
  51. fi
  52. if [[ $NODE_ENV == "test" ]]; then
  53. local db_name="rongxin_gxzb"
  54. NODE_HOST=${ip_address} NODE_PORT=${svc_port} ${JAVA_CMD} -Xms1024M -Xmx1024M -Xmn512M -jar ${svc_bin} >> ${svc_log} 2>&1 &
  55. fi
  56. if [[ $NODE_ENV == "stage" ]]; then
  57. local db_name="rongxin_gxzb"
  58. NODE_HOST=${ip_address} NODE_PORT=${svc_port} ${JAVA_CMD} -jar ${svc_bin} >> ${svc_log} 2>&1 &
  59. fi
  60. if [[ $NODE_ENV == "prod" ]]; then
  61. local db_name="rongxin_gxzb"
  62. NODE_HOST=${ip_address} NODE_PORT=${svc_port} ${JAVA_CMD} -jar ${svc_bin} >> ${svc_log} 2>&1 &
  63. fi
  64. local svc_pid=$(ps -ef | grep -w ${svc_bin} | grep ${svc_bin} | grep -v grep | awk '{print $2}')
  65. echo "{\"svc_bin\":\"$svc_bin\", \"pid\":\"${svc_pid}\"}" > ${svc_pid_file}
  66. }
  67. ################################################################################
  68. # the main function
  69. ################################################################################
  70. function main()
  71. {
  72. local ip_address=$1
  73. local svc_port=$2
  74. pushd ${bin_pdir} > /dev/null
  75. echo "#################### start ${svc_bin} #############################" >> ${svc_log}
  76. run_svc_bin $ip_address $svc_port
  77. popd > /dev/null
  78. }
  79. main $@