SpringBoot项目发布到服务器的两种方式war和jar

举报
yd_221104950 发表于 2020/12/02 23:56:21 2020/12/02
【摘要】 1.前言 SpringBoot项目在开发阶段,执行mvn spring-boot:run运行项目,达到快速检验功能的目的。在生产环境中,则不推荐这样做,提供两种式来发布:jar包和war包。本章的实验是在ubuntu18.04操作系统上进行的。 2.jar包(推荐) $ nohup java -jar XXX.jar & 1 命令解释: java -jar ...

1.前言

SpringBoot项目在开发阶段,执行mvn spring-boot:run运行项目,达到快速检验功能的目的。在生产环境中,则不推荐这样做,提供两种式来发布:jar包和war包。本章的实验是在ubuntu18.04操作系统上进行的。

2.jar包(推荐)

$ nohup java -jar XXX.jar & 

  
 
  • 1

命令解释:

  • java -jar XXX.jar:用这种的方式启动程序,当前终端窗口会被锁定,不能进行其他操作,按CTRL + C或直接关闭终端窗口都会让程序退出。
  • java -jar XXX.jar &:这种方式的话,当前终端窗口不会被锁定,能进行其他操作,但是当窗口关闭时,程序会退出。
  • nohup java -jar XXX.jar &:只这种方式,才能够使当前终端不会被锁定,可以进行其他操作,即使终端关闭或账户退出,也不会中止程序运行。程序仍然在后台运行。
  • &表示程序在后台运行。
  • nohup的作用是运行后面的命令,忽略挂起信号。
    如果标准输入是终端,那么从一个无法读的文件重定向它(其实就是忽略它);
    如果标准输出是终端,那么将输出追加到$HOME/nohup.out文件($HOME是家目录,在我的实验环境中就是/home/kyun/nohup.out),可能的话;
    如果是错误的话,那么重向它到标准输出。我们也可以将输出重定向到我们指定的文件:
$ nohup java -jar XXX.jar >tmp.txt &

  
 
  • 1

这种方式的好处就是当终端关闭或账户退出系统时,程序仍然在后台运行。

3.1辅助命令

  • 可通过jobs命令查看后台运行任务
$ jobs
[1]+  Running nohup java -jar SpringBootGroceryDemo.jar > tmp.txt &

  
 
  • 1
  • 2
  • jobs命令会列出所有后台执行的作业,并且每个作业前面都有个编号。如果想将某个作业调回前台控制,只需要执行命令 fg 编号即可,如:
$ fg 1
nohup java -jar SpringBootGroceryDemo.jar > tmp.txt

  
 
  • 1
  • 2
  • 使用ps aux | grep 程序名查看web的pid
$ ps aux | grep SpringBootGroceryDemo
kyun 13966  2.3  4.2 5165192 345532 pts/4  Sl   00:50   0:15 java -jar SpringBootGroceryDemo.jar

  
 
  • 1
  • 2
  • 查看某端口占用的线程的pid
$ netstat -nlp | grep :8080

  
 
  • 1
  • 关闭程序kill pid
$ kill 13966

  
 
  • 1

3.war包

请参考《SpringBoot项目打包war发布到Jetty9》

文章来源: blog.csdn.net,作者:WongKyunban,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/weixin_40763897/article/details/105521123

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。