SpringBoot项目发布到服务器的两种方式war和jar
Posted SamDlex
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SpringBoot项目发布到服务器的两种方式war和jar相关的知识,希望对你有一定的参考价值。
1.前言
SpringBoot项目在开发阶段,执行mvn spring-boot:run
运行项目,达到快速检验功能的目的。在生产环境中,则不推荐这样做,提供两种式来发布:jar包和war包。本章的实验是在ubuntu18.04操作系统上进行的。
2.jar包(推荐)
$ nohup java -jar XXX.jar &
命令解释:
-
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 &
这种方式的好处就是当终端关闭或账户退出系统时,程序仍然在后台运行。
3.1辅助命令
- 可通过jobs命令查看后台运行任务
$ jobs
[1]+ Running nohup java -jar SpringBootGroceryDemo.jar > tmp.txt &
- jobs命令会列出所有后台执行的作业,并且每个作业前面都有个编号。如果想将某个作业调回前台控制,只需要执行命令
fg 编号
即可,如:
$ fg 1
nohup java -jar SpringBootGroceryDemo.jar > tmp.txt
- 使用
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
- 查看某端口占用的线程的pid
$ netstat -nlp |
- 关闭程序
kill pid
$ kill
3.war包
请参考《SpringBoot项目打包war发布到Jetty9》
以上是关于SpringBoot项目发布到服务器的两种方式war和jar的主要内容,如果未能解决你的问题,请参考以下文章
Springboot以Tomcat为容器实现http重定向到https的两种方式
nginx开启ssl并把http重定向到https的两种方式