• 【Spring Boot】如何在Linux系统中快速启动Spring Boot的jar包


    1. 在Linux系统中先安装java的JDK
    2. 然后编写下列service.sh脚本,并根据自己的需求只需要修改export的log_path、exec_cmd参数即可
        1. # 配置运行日志输出的路径
        2. export log_path=/usr/local/project/study-pro/logs
        3. # 当前服务运行的脚本命令
        4. export exec_cmd="nohup /usr/local/project/openjdk-8/bin/java -jar /usr/local/project/study-pro/study-pro-0.0.1-SNAPSHOT.jar"
        5. # 获取脚本所在的目录
        6. CUR_DIR=$(dirname $0)
        7. # 进入到该目录运行,这样可以规避绝对路径的问题,你的脚本迁移到任何目录都可以正常运行
        8. cd ${CUR_DIR}
        9. # 该函数running正常退出,not running则退出非0值
        10. check_server_is_running() {
        11. [[ ! -f "pid" ]] && touch pid
        12. # 获取
        13. PID=$(cat pid)
        14. # 首先判断pid是否存在
        15. if [ "${PID}" = "" ]
        16. then
        17. echo "server is not running."
        18. return 1
        19. fi
        20. # 再判断指定的PID是否在当前目录运行,防止因历史异常原因遗留了失效PID,正好该PID又被其他进程占用,造成误杀。
        21. if [[ -d /proc/${PID}/cwd ]] && ls -ahl /proc/${PID}/cwd | grep -q "${CUR_DIR}"
        22. then
        23. echo "server is running."
        24. return 0
        25. else
        26. # 清空失效的进程号并异常退出
        27. echo "" > pid
        28. return 1
        29. fi
        30. }
        31. start() {
        32. # 启动前判断日志目录是否存在,不存在就创建
        33. [[ ! -d "${log_path}" ]] && mkdir -p ${log_path}
        34. # 启动服务
        35. ${exec_cmd} > ${log_path}/start.log 2>&1 &
        36. # 保存PID,以供stop使用
        37. PID=$!
        38. echo "server start succ, PID=${PID}!"
        39. echo "${PID}" > pid
        40. }
        41. stop() {
        42. # get pid
        43. PID=$(cat pid)
        44. kill -9 ${PID}
        45. }
        46. case C"$1" in
        47. Cstart)
        48. # ||:前一个运行失败后,才运行后面一个脚本。单进程执行。若遇到第一个执行成功的脚本后,后面的脚本不再执行。
        49. check_server_is_running || start
        50. echo "start done."
        51. ;;
        52. Cstop)
        53. # &&:前一个运行成功后,才运行下一个。单进程执行,若中途某个脚本执行报错,后面的脚本不再执行
        54. check_server_is_running && stop
        55. echo "stop done."
        56. ;;
        57. Crestart)
        58. check_server_is_running && stop
        59. check_server_is_running || start
        60. echo "restart done."
        61. ;;
        62. C*)
        63. echo "Usage: $0 {start|stop|restart}"
        64. ;;
        65. esac
    3. 如果脚本没有可执行权限,需要先赋权再执行命令
      1. chmod -R +x service.sh
    4. 在脚本的目录中执行下列命令即可正常运行、停止、重启相应的Spring Boot服务
      1. 执行脚本说明
        ./service.sh start服务启动
        ./service.sh stop服务停止
        ./service.sh restart服务重启
    5. 当前示例执行服务启动命令,可以看出服务已经可以正常启动并访问了
      1. ./service.sh start
  • 相关阅读:
    CloudKit教程之如何从 CloudKit 获取图像资源到 SwiftUI 应用程序
    前端监控系列1| 字节的前端监控SDK是怎样设计的
    高级测试面试复盘
    网络黑客入门级工具:netwox
    ubuntu 查询mysql的用户名和密码 ubuntu查看username
    【无标题】
    linux——进程间通信——管道
    【配置环境】Visual Studio 配置 OpenCV
    【Python安全攻防】【网络安全】一、常见被动信息搜集手段
    纯科普:亚马逊常见认证要求汇总
  • 原文地址:https://blog.csdn.net/weixin_41926152/article/details/134543557