springboot之jar包Linux后台启动部署及滚动日志查看且日志输出至文件保存(下篇)

2,792 阅读6分钟

一、前言🔥

👨‍🎓作者:bug菌
✏️博客:CSDN掘金infoQ51CTO
🎉简介:CSDN博客专家,C站历届博客之星Top50,掘金/InfoQ/51CTO等社区优质创作者,全网合计8w粉+,对一切技术感兴趣,重心偏Java方向;硬核公众号「 猿圈奇妙屋」,欢迎小伙伴们的加入,一起秃头,一起变强。
..
✍️温馨提醒:本文字数:1999字, 阅读完需:约 5 分钟

       嗨,家人们,我是bug菌呀,我又来啦。今天我们来聊点什么咧,OK,接着为大家更《springboot零基础入门教学》系列文章吧。希望能帮助更多的初学者们快速入门!

       小伙伴们在批阅文章的过程中如果觉得文章对您有一丝丝帮助,还请别吝啬您手里的赞呀,大胆的把文章点亮👍吧,您的点赞三连(收藏⭐+关注👨‍🎓+留言📃)就是对bug菌我创作道路上最好的鼓励与支持😘。时光不弃🏃🏻‍♀️,创作不停💕,加油☘️

二、环境说明🔥

环境说明:Windows10 + Idea2021.3.2 + Jdk1.8 + SpringBoot 2.3.1.RELEASE

三、教程正文🔥

       说明:如下是直接从第3步开始讲起,至于第1步跟第2步在我上一篇文章中,如果有直接能略过的那就直接跟着第3步开始操作吧,如果不会第1步跟第2步的同学那就看我上一期的内容,再折返回来接着看就行了。
至于为什么要拆分成两篇文章?理由很简单,你们懂的,我就不解释了哈。

springboot之jar包Linux后台启动部署及滚动日志查看且日志输出至文件保存(上篇)

1️⃣通过idea打jar包💭

... ...

2️⃣jar包上传服务器💭

... ...

3️⃣检查java环境💭

... ...

4️⃣jar后台启动🔅

       我们都知道,jar运行命令是 java -jar xxx.jar 。对吧,但是有一点,我们要实现项目后台启动,如果你就常规启动,那么你的运行窗口不能关闭,只要你xshell断开连接或者关闭,项目就终止,所以接下来我教你如何后台启动jar包。

       这个时候,我们就要用到nohup命令了。nohup 全称:no hang up(不挂起),也就是说,当前交互命令行退出的时候,程序还在运行。

怎么关闭此进程呢?你只需要执行如下命令查找到该服务进程id,然后kill掉即可:

ps -ef | grep jar名
kill -9 进程id

实际演示如下:

所以实际执行组合命令如下:

nohup java -jar xxx.jar &

5️⃣控制台日志输出保存🔅

       如果你要实时记录控制台输出日志,那你就可以这么玩儿,在启动命令后加上:

> log.file 2>&1 &

拓展:

2>&1 :表示 将标准错误 2 重定向到标准输出 &1 ,标准输出 &1 再被重定向输入到 log.file 文件中。

  • 0 :stdin (standard input,标准输入)
  • 1 :stdout (standard output,标准输出)
  • 2 :stderr (standard error,标准错误输出)

所以启动命令可以是这样:

nohup java -jar xxx.jar > log.file 2>&1 &

6️⃣外部配置文件启动🔅

       我们都知道,springboot jar可以指定外部配置文件启动,对吧,那么这究竟得有啥好处呢?那就是当你修改配置文件,你不不需要再重新打jar包,而只需要修改yaml然后重启项目即可。

所以,我们都会将config这个文件夹单独放与xxx.jar包同级。比如:

       然后再通过启动命令指定你要运行的配置环境即可。那具体怎么指定呢?其实也是有语法的。在你启动java -jar xxx.jar 后面直接这样指定,然后test是你application-test.yaml的配置指向,这个我就不多解释。

--spring.profiles.active = test

总结以上,所以最终jar启动命令如下:

nohup java -jar review-server.jar --spring.profiles.active = test > log.file 2>&1 &

如下是实际启动命名截图:

       可以看到,启动了并返回了该服务的进程id。我们也可以来验证一下,是不是该项目服务的进程id。

7️⃣查看实时滚动日志🔅

       想要查看项目滚动日志,那我们就用到了 tail 命令了。

命令格式:

tail [参数] [文件]  

       默认将每个 FILE 的最后 10 行打印到标准输出。

实际使用截图:

tail -f nohup.out

       新的日志行添加至 nohup.out 文件时,tail 命令会继续显示这些行。显示一直继续,按ctrl+c可以退出实时查看,再输入其他指令。

       你也就可以看到会自动生成这两文件:

       log.file是我用来记录项目运行日志的。而nohup.out则包含了项目控制台发到终端显示器上的所有输出,输出会追加到现有的nohup.out文件中。

8️⃣总结🔅

       对于有的小伙伴不想看我仔细分析,那么你直接看这里,我把本文章最核心的告诉你,那就是jar的完整启动命令。仅供参考:

nohup java -jar review-server.jar --spring.profiles.active = test > log.file 2>&1 &

其中log.file是用于记录项目控制台日志打印,test是你项目启动的环境配置。

​... ...

       ok,以上这样就好啦,如果还想学习更多,你可以看看我的往期热文推荐哦,每天积累一个奇淫小知识,日积月累下去,你一定能成为令人敬仰的大佬的。好啦,咱们下期见~

四、往期推荐🔥

文末🔥

       如果还想要学习更多,小伙伴们可关注bug菌专门为大家创建的专栏《springboot零基础入门教学》,从无到有,从零到一!希望能帮助到更多小伙伴们。

我是bug菌,一名想走👣出大山改变命运的程序猿。接下来的路还很长,都等待着我们去突破、去挑战。来吧,小伙伴们,我们一起加油!未来皆可期,fighting!

感谢认真读完我博客的铁子萌,在这里呢送给大家一句话,不管你是在职还是在读,绝对终身受用。
时刻警醒自己:
抱怨没有用,一切靠自己;
想要过更好的生活,那就要逼着自己变的更强,生活加油!!!