一、springboot项目打包并上传

spring boot项目打包方式有两种,分别是jar包和war包,官方推荐前者,所以本文也将项目打包成jar包。
两者之间的区别是:打包成jar包的情况下是不需要在服务器上安装Tomcat的,而war包需要;不需要的原因是因为springboot项目是集成了Tomcat。
1、创建并写好一个项目后,在IDEA右侧中点击maven>你的项目名>Lifecycle>package,双击package即可打包jar包。
image.png
2、打包好的jar包自动放在 项目名>target>xxx.jar。
注意:
有可能会直接出现在你IDEA左侧的项目结构里,如果没有的话就在电脑文件夹里找。
如上图,我的打包好之后IDEA项目结构里就没有,去电脑文件夹里找。
image.png
3、下载并安装Xftp6,它可以让我们通过界面操作将本地的jar包拖拽到服务器上,对于不熟悉操作Linux命令的人来说很方便。Xftp6的登录操作
image.png
4、尝试运行该xxx.jar包(在此之前Linux服务器必须要安装好jdk,并和项目java版本保持一致。)
首先进入xxx.jar包所在的目录下,我的是cd home
然后执行命令:java -jar visitor-0.0.1.ja
项目启动成功的话,出现下图样式:

image.png

二、jar包后台运行

(第一步成功后可直接进入第三步,此步仅为测试)
通过命令java -jar xxx.jar虽然可以启动并运行项目,但是一旦关闭可控制台,项目也随之关闭了,没法实时访问该项目。

所以接下来还需要解决jar包后台运行的问题。

其实,只要我们可以将java -jar xxx.jar替换成

  1. java -jar spring-boot01-1.0-SNAPSHOT.jar > log.file 2>&1 &

就可以解决这个问题了。

三、SSH远程连接Linux断开后,让启动的程序继续运行

由于springboot简单的把项目打成jar包就可以部署,不用放到tomcat容器之中,远程连接把jar包上传至linux系统,在对应目录下执行 java -jar 包名 就可以将项目启动,但是关闭远程连接后项目也会停止运行,无法访问项目,非常不方便。
以下是解决办法:
1、yum install screen #安装screen命令
2、screen -S myself #创建screen会话,myself可改为任意名称
3、在新会话中进入jar包所在目录,执行java -jar 你的项目名.jar启动项目
关闭远程连接窗口,项目依然可以访问。

扩展:如何kill掉一个screen?

两种方式:

1、使用screen名字,kill掉。
screen -S session_name -X quit

2、激活screen:
screen -r session_name
并利用exit退出并kiil掉session。

四、停止项目

重新开一个窗口,找到项目端口运行的pid,利用kill命令杀死该进程

  1. #查询8081端口的PId(最后一行)
  2. netstat -anp|grep 8081
  3. #查询全部进程的运行情况
  4. netstat -anp
  5. #杀死PID为2294的进程
  6. kill -15 2294或者kill -9 2294(-15比-9相对优雅)