SpringBoot项目发布到服务器的两种方式war和jar
【摘要】 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)