今天就跟大家聊聊有关怎么在linux系统中部署一个Spring Boot程序,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
1 把jar包弄成系统服务(不推荐)
这种方法缺点也比较明显,那就是容易出现服务启动不起来,因为不同的linux发行版本都或多或少存在差异
2 使用nohup 命令配合kill -9 xxx
这种方法比较容易接受,也是一种折中的做法,但是要停止程序会比较麻烦需要使用命令找到进程再使用kill -9 ,还是有点麻烦
3 使用screen、tmux等方式(推荐)
综合考虑这种方法比较科学因为它提供了统一的管理多个会话的界面和相应的功能,操作起来比较简单些,缺点是需要一点点的学习成本
tmux常用命令:
$ tmux new -s session-name 新建会话
$ tmux a -t session-name 接入指定会话
$ tmux detach /$ Ctrl-b d 断开当前会话
$ tmux kill-session -t session-name 关闭会话
$ tmux ls 显示所有会话
screen常用命令:
$ screen -S window-name 新建会话
$ screen -r 会话编号或名称 接入指定会话/重新连接会话
$ screen -ls 显示所有会话
Ctrl+a b 分离当前会话
Ctrl+a k
以下是它们的区别,虽说tmux比较先进但究竟如何选择还是看大家的使用习惯
tmux 和 screen 很像,但比 screen 更好。要问好在哪里,简单的回答就是虽然与 screen 的功能相同,但是 tmux 设计得更好。screen 虽然可用,但是很不稳定。
以下是一些 tmux 超越 screen 的地方:
screen 的项目大体上已经终止了,并且代码中有大量的问题
tmux 是一个活跃的项目,并且其代码库经常进行更新
tmux 使用的是真正的客户端/服务器模型,而 screen 只是模拟了这种模型的行为
tmux 同时支持 emacs 和 vim 的快捷键
tmux 支持自动重命名窗口
tmux 可以高度的脚本化
tmux 的窗口分割功能更加先进
SpringBoot使用maven打包比较方便,打包时检查下pom.xml的配置,确保有如下配置:
<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <!--fork : 如果没有该项配置,devtools不会起作用,即应用不会restart --> <fork>true</fork> <!-- 可选的配置 --> <executable>true</executable> </configuration> </plugin> </plugins> lt;/build>
打包就用maven install就行了,如果打包成功找到相应的jar重命名后上传到linux服务器授权一下就行
这样应用就启动了,即使命令行关闭了或者从ssh断开也不会影响程序的正常运行
断开连接
结束会话后程序就被shutdown了,如下所示
screen的使用和tmux大同小异,这边已经实践过了,就部署程序使其在后台运行,选screen和tmux效果都差不多。
PS:下面给大家介绍linux部署spring-boot
先对项目maven clean 然后在项目上maven install 打成jar包,之后到linux上删除前一个版本的进程
查看java进程的命令 ps -ef | grep java
杀死进程 kill -9 进程号
直接运行spring-boot项目 nohup java -jar sinocube.jar & 使用nohup一定要以&结尾
nohup 回输出日志文件,日志文件可以自定义文件名,默认为nohup.nohup.out
cat nohup.out 查看日志nohup.out是文件名称
tailf nohup.out 实时查看日志
看完上述内容,你们对怎么在linux系统中部署一个Spring Boot程序有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注亿速云行业资讯频道,感谢大家的支持。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。