springboot 的打包与单独部署 部署到 tomcat
一.简述
项目开发完成,就需要上线部署了,不然开发了那么久的代码也没什么存在的意义。 说到上线部署,那么以往的部署方式都是使用 servlet
项目,整合一些中间件使用,配置好配置文件。当需要上线部署的时候,就打包成 war
格式的压缩包,放在一个 web
容器中,然后启动容器,让容器去启动我们的项目。 但是在现在的 springboot
时代,官方已经很贴心的给我们提供一个内置的 tomcat
容器了,当然如果我们需要更换成其他的内置容器也完全可行。这样子能够让部署显得更加简单便捷,也不需要像以前一样,当需要多个微服务项目的时候,我们又不想一个 tomcat
运行多个项目让他互相影响,然而开启了很多 tomcat
容器,造成了资源的浪费。springboot
内置的容器咧,也经过官方修改让他更加吻合我们的项目了,我们完全可以在项目的配置文件中配置允许 tomcat
使用的资源信息。
二.打包的两种方式
(一)直接打包成jar包进行运行
直接打包 jar
包的方式就很简单了,我们可以使用命令行或者 IDE
去到我们项目的 pom
所在的目录。 运行 mvn package
。稍等片刻,如果没有遇到错误,那么 mvn
会帮助我们在 target
文件夹生成一个 .jar
结尾的压缩包,这个就是我们项目的所有信息了。 我们只需要通过 FTP
或者其他的方式将这个项目包放在一个地方,然后使用 java -jar xxx.jar
的形式进行运行就可以启动项目了。过程还是十分轻量级的。 当然以上那种方式,运行完成以后,如果退出了,那么项目也就退出了,这并不是我们想看到的。所以在 Linux
下,我们可以使用 nohup
命令进行启动,将启动打印出来的日志定位到一个文件里面去,例如 nohup java -jar xxx.jar >xxx.out 2>&1 &
这样子,项目运行过程中的情况,会跟我们使用 IDE
一样把日志写到指定的文件里面去,当然如果不想要这个文件毕竟自己一般都实现了日志了的。那么可以使用这个命令,将日志导入到一个黑洞里面去:nohup java -jar /xxx/xxx/xxx.jar >/dev/null 2>&1 &
(二)打包成war包放入web容器运行
将项目打成 jar
包容易,毕竟是标配了,但是如果因为业务需要需要放进一个 tomcat
里面去运行的话,那么久需要反其道而行把一些配置给去掉。 pom.xml
需要加入一些配置:
1 | <?xml version="1.0" encoding="UTF-8"?> |
然后运行 mvn package
即可打包成 war
包了,这时将 war
包放入 WEB
容器即可运行起来。