一、springboot项目打包并上传
spring boot项目打包方式有两种,分别是jar包和war包,官方推荐前者,所以本文也将项目打包成jar包。
两者之间的区别是:打包成jar包的情况下是不需要在服务器上安装Tomcat的,而war包需要;不需要的原因是因为springboot项目是集成了Tomcat。
1、创建并写好一个项目后,在IDEA右侧中点击maven>你的项目名>Lifecycle>package,双击package即可打包jar包。
2、打包好的jar包自动放在 项目名>target>xxx.jar。
注意:
有可能会直接出现在你IDEA左侧的项目结构里,如果没有的话就在电脑文件夹里找。
如上图,我的打包好之后IDEA项目结构里就没有,去电脑文件夹里找。
3、下载并安装Xftp6,它可以让我们通过界面操作将本地的jar包拖拽到服务器上,对于不熟悉操作Linux命令的人来说很方便。Xftp6的登录操作
4、尝试运行该xxx.jar包(在此之前Linux服务器必须要安装好jdk,并和项目java版本保持一致。)
首先进入xxx.jar包所在的目录下,我的是cd home
然后执行命令:java -jar visitor-0.0.1.ja
项目启动成功的话,出现下图样式:
二、jar包后台运行
(第一步成功后可直接进入第三步,此步仅为测试)
通过命令java -jar xxx.jar虽然可以启动并运行项目,但是一旦关闭可控制台,项目也随之关闭了,没法实时访问该项目。
所以接下来还需要解决jar包后台运行的问题。
其实,只要我们可以将java -jar xxx.jar替换成
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命令杀死该进程
#查询8081端口的PId(最后一行)netstat -anp|grep 8081#查询全部进程的运行情况netstat -anp#杀死PID为2294的进程kill -15 2294或者kill -9 2294(-15比-9相对优雅)
