SpringBoot 项目部署小结
程序员文章站
2022-03-20 11:09:37
...
背景
最近用 SpringBoot 写了一个 web 服务,发现它真的很好用啊,对比原始的手动搭建SpringMVC 框架的繁杂步骤,用 SpringBoot 写一个 web controller 简直太方便了。此外,用它内置的 tomcat ,将应用发布成可执行 jar 包也比较简单,这里整理下部署过程。
项目打包
maven 的 package 命令执行完成后会在 target 目录下得到一个 project_version.jar ,它的本质是一个 Runnable Jar,可以直接通过 java -jar 命令执行。
编写启动脚本
创建一个文件夹,将项目 jar 包放入其中,此外编写一个名为 start.sh 的启动脚本 ,以后台进程的方式启动应用,脚本内容如下:
#!/bin/sh
existPid=`ps -ef|grep project_version.jar|grep -v "grep"|awk '{print $2}'`
if [ "$existPid" != "" ]; then
echo killing project start.
kill -9 $existPid
echo killing project end.
fi
nohup java -Xms256M -Xmx512M -jar project_version.jar 1>/dev/null 2>/dev/null &
脚本重点:
1、确保旧的进程停止,所以先查找进程,如果进程存在就 kill 掉。
2、后台进程的方式启动,且忽略执行日志,使其不输出到 nohup.out 文件中。
因为项目中使用了日志输出框架,默认配置了控制台和文件两种 appender 。如果不加上后面的 dev/null 忽略输出的话,控制台日志就会打印到 nohup.out 文件中,同时又会输出到日志文件,因而造成磁盘空间的浪费。
启示录
“沉舟侧畔千帆过,病树前头万木春”,今天中午看到枯黄的梧桐树上开始长出的嫩叶子,一同事念出了这首诗。
万木逢春,多么美好的时节啊!
推荐阅读
-
eclipse创建springboot项目
-
Eclipse Springboot项目Dokcer
-
微项目:一步一步带你使用SpringBoot入门(二)
-
docker-compose部署php项目实例详解
-
IntelliJ IDEA部署web项目,Tomcat没有出现Artifacts
-
linux系统下部署项目访问报404错误的解决方法
-
SpringBoot项目使用RedisTemplate遇到key值\xac\xed\x00\x05t\x00的坑
-
五分钟后,你将学会在SpringBoot项目中如何集成CAT调用链
-
idea新建springboot项目的方法
-
Docker容器使用jenkins部署web项目(总结)