SpringBoot项目(jar)部署,启动脚本

这篇具有很好参考价值的文章主要介绍了SpringBoot项目(jar)部署,启动脚本。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

需求

SpringBoot项目(jar)部署,需要先关闭原来启动的项目,再启动新的项目。直接输入命令,费时费力,还容易出错。所以,使用脚本启动。

脚本

脚本名:start.sh
此脚本需要放置在jar包的同级目录,才能正确找到jar包。

#!/bin/bash
echo "部署开始:XXX系统"

echo "关闭服务(已开启的服务)"
PID=$(jps -l | grep HelloWorld.jar | awk '{print $1}')
if [ -n "$PID" ];then
    kill -9 $PID
    echo "关闭服务:完成"
else
    echo "关闭服务:终止。无需关闭,没有已开启的服务"
fi

echo "启动服务"
nohup java -jar HelloWorld.jar > HelloWorld.log 2>&1 &

echo "部署完成:XXX系统"

启动命令

在脚本所在目录,执行如下命令:

sh start.sh

注意问题

Shell 变量赋值,等号前后不能有空格

一开始,我在给pid赋值时,等号左右两端有等号,导致报错。

解决 nohup: redirecting stderr to stdout

需要将错误输出,也输入到log日志中。
也就是脚本中加了如下一段:

2>&1

作用是将错误输出到标准输出,因为标准输出又是输出到log日志中,所以就都输入到日志中,这样命令行就不会报上面的输出了。

Shell变量语法

精简语法:

$pid

完整语法:

${pid}

完整的变量应用语法,不仅要包含$,还要在变量名周围加上好括号。
SpringBoot项目(jar)部署,启动脚本,Spring,spring boot,jar,linux,bash

PS

关闭已开启服务的逻辑,采用的是直接强制关闭服务。

更好的方式,其实是让服务自己关闭自身,然后定时监控:
一段时间之后,如果程序已经关闭了,就开启新项目;
如果超过规定时间,仍然没有关闭成功,则强制关闭,然后启动新项目。

此逻辑可以参考最后的《脚本参考》链接。

VSCode格式化shell

http://www.taodudu.cc/news/show-4756426.html?action=onClick

参考

脚本参考:

https://gitee.com/longzipeng/study_share/blob/master/web_demo/renren_deploy.sh文章来源地址https://www.toymoban.com/news/detail-690441.html

到了这里,关于SpringBoot项目(jar)部署,启动脚本的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 腾讯云 jar项目配置【半小时完成】(Spring boot Mysql)

    小唐的背景是,因为最近微信小程序需要上线,然后呢,一开始的时候准备直接用内网穿刺来服务器的,但是有一点很离谱的是,就是咱们的服务器地址会变,可恶 然后就直接去看了一下,腾讯云的价格才100多一年就直接拿下了,自己配置下来,半个小时不到就ok啦,配置下

    2024年02月16日
    浏览(28)
  • Spring Boot项目Jar包加密:防止反编译的安全实践

    🎉Spring Boot项目Jar包加密:防止反编译的安全实践 ☆* o(≧▽≦)o *☆嗨~我是IT·陈寒🍹 ✨博客主页:IT·陈寒的博客 🎈该系列文章专栏:架构设计 📜其他专栏:Java学习路线 Java面试技巧 Java实战项目 AIGC人工智能 数据结构学习 🍹文章作者技术和水平有限,如果文中出现错误

    2024年02月04日
    浏览(22)
  • 在Spring Boot项目中引入本地JAR包的步骤和配置

    博主 默语带您 Go to New World. ✍ 个人主页—— 默语 的博客👦🏻 《java 面试题大全》 🍩惟余辈才疏学浅,临摹之作或有不妥之处,还请读者海涵指正。☕🍭 《MYSQL从入门到精通》数据库是开发者必会基础之一~ 🪁 吾期望此文有资助于尔,即使粗浅难及深广,亦备添少许微薄

    2024年02月08日
    浏览(24)
  • Ubuntu服务器中java -jar 后台运行Spring Boot项目

    问:我在我的服务器中java -jar 运行springboot项目,但是我操作不了命令了,必须要终止掉才能执行后面的操作,怎么样才能让他后台运行呢?比如我的jar包名是tools-boot-0.0.1-SNAPSHOT.jar 使用nohup命令: 在命令前加上nohup,并通过重定向将输出保存到文件中。例如: 问:这个outp

    2024年02月08日
    浏览(36)
  • Spring Boot学习随笔- 拦截器实现和配置(HandlerInterceptor、addInterceptors)、jar包部署和war包部署

    学习视频:【编程不良人】2021年SpringBoot最新最全教程 拦截器 :Interceptor 拦截 中断 类似于javaweb中的Filter,不过没有Filter那么强大 作用 Spring MVC的拦截器是一种用于在请求处理过程中进行预处理和后处理的机制。拦截器可以在请求到达控制器之前和之后执行一些操作,例如日

    2024年02月02日
    浏览(23)
  • Spring Boot项目实现无数据库启动

    今天需要创建一个不连接数据库的Spring Boot工程, 结果一切配置好后项目却启动失败, 提示如下: 查询了一下资料, 发现原来Spring Boot启动时是默认是要连接数据库的, 这样一来只需要把数据库的一些配置排除掉就可以了: 重新启动, 项目成功运行了。另外, pom.xml文件中也不要引入

    2024年02月15日
    浏览(33)
  • 【Spring Boot】Spring Boot项目中如何查看springBoot版本和Spring的版本

    在项目中查看默认版本有两种方式如下 Spring Boot 的最新版本支持情况: 版本 发布时间 停止维护时间 停止商业支持 3.0.x 2022-11-24 2023-11-24 2025-02-24 2.7.x 2022-05-19 2023-11-18 2025-02-18 2.6.x 2021-12-17 2022-11-24 2024-02-24 2.5.x 2021-05-20 已停止 2023-08-24 2.4.x 2020-11-12 已停止 2023-02-23 2.3.x 2020-05-

    2024年02月11日
    浏览(74)
  • 部署Spring Boot项目

    上传jar包 之前在 新建Spring Boot项目 [1] 使用 mvn install 的方式,已经构建出jar包。 通过scp或rz/sz,将该jar包上传到服务器 执行 java -jar hello-0.0.1-SNAPSHOT.jar ,发生如下报错: 这是由于 编译环境 与 运行环境 不一致导致: 本机执行 java -version 服务器上执行 java -version 服务器 安装/更

    2024年02月10日
    浏览(27)
  • idea中配置spring boot单项目多端口启动

    参照文章 https://zhuanlan.zhihu.com/p/610767685 项目配置如下 下面为 idea 2023,不同版本的设置有区别,但是没那么大,idea 2023默认使用新布局,切换为经典布局即可。 在项目根目录的.idea/workspace.xml文件里添加如下配置 外面的根节点为 project 指定一个启动类后改名 勾选 Add VM option

    2024年02月05日
    浏览(29)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包