Springboot 项目打成jar包部署到服务器中的方式
前言:目前,前后端分离的架构已成主流,而使用SpringBoot构建Web应用是非常快速的,项目发布到服务器上的时候,只需要打成一个jar包,然后通过命令 : java -jar jar包名称即可启动服务了。
一、jar包(官方推荐)
SpringBoot项目默认打包成jar包
jar包方式启动,也就是使用SpringBoot内置的tomcat运行。服务器上面只要你配置了jdk1.8及以上就ok,不需要外置tomcat。
1、SpringBoot将项目打包成jar包
a.首先在pom.xml文件中导入Springboot的maven依赖
-
- <build>
-
- <plugins>
-
- <plugin>
-
- <groupId>org.springframework.bootgroupId>
-
- <artifactId>spring-boot-maven-pluginartifactId>
-
- plugin>
-
- plugins>
-
- build>
d.将jar包放到Linux服务器任意目录,执行下面的命令即可启动项目服务
- $ nohup java -jar test.jar >temp.txt &
-
- //这种方法会把日志文件输入到你指定的文件中,没有则会自动创建。进程会在后台运行。
后台启动和关闭jar的shell脚本
1.后台启动 startTest.sh
- #设置工程路径
- project_path=/root/test
- cd $project_path
- #nohup后台启动,输出日志到test.log
- nohup java -jar test.jar >test.log &
- #打印日志
- tail -f test.log
文件可执行权
chmod +x startTest.sh
执行 ./startTest.sh
2.根据应用端口关闭服务 stopTest.sh
- #设置关闭的端口
- port=8080
- #获取此端口运行的进程
- pid=`lsof -t -i:$port`
- #判断如果进程号不为空则,关闭进程
- if test -z "$pid";then
- echo "test 工程未启动!"
- else
- kill -9 $pid
- echo "test 工程进程$pid 关闭成功!"
- 使用应用名获取其进程号
- pid=$(jps -l|grep app-provider-1.0-SNAPSHOT.jar |awk '{print $1}')
- echo " app-provider-1.0-SNAPSHOT.jar pid "+${pid}+"will be kill"