spring boot部署到tomcat
1.使用spring boot内置的tomcat(jar包方式)官方推荐
1.1 配置内置tomcat端口
在spring boot的配置文件里面配置端口
server:
port: 8081
1.2 打成jar包
如果你使用的编译器是IDEA,在右边的工具栏有maven项目打包的快捷键。
也可以在终端输入
mvn clean package
1.3部署
直接将jar包复制到服务器上面,然后在jar包当前目录下运行以下指令
- nohub 不挂断运行
- log.txt 输入的日志文件,没有则自动新建
nohup java -jar test.jar >log.txt &
1.4 查看
使用jsp命令来进行查看,jps(Java Virtual Machine Process Status Tool)是java提供的一个显示当前所有java进程pid的命令,适合在linux/unix平台上简单察看当前java进程的一些简单情况。
jps
1.5 常见问题
终端退出了,但服务关闭了?
(没有使用nohup命令不挂断启动服务)
服务启动了,但无法服务。
(可能是服务器实例的安全组开放对应端口)
(也可能是没有向spring boot配置的端口发起请求)
2.使用独立的tomcat部署项目(war包形式)
也就是传统的tomcat部署,将spring boot打成war包,放到tomcat指定的webapps目录下,启动tomcat(tomcat会自动解压)。
2.1 配置
先修改pom.xml里面的打包方式
<packaging>war</packaging>
打包时去除内置tomcat,防止跟原生的tomcat冲突
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
2.2 打成war包
跟jar包的方式一样,打完包后放到tomcat的webapps项目下面。
看情况可以把tomcat中的webapps下的示例项目全部删除,并将打包的war包更名为ROOT.war,然后tomcat启动会解压为根项目ROOT
2.3启动tomcat
到tomcat的bin目录下运行
./startup.sh
如果是window系统,就直接点startup.bat文件即可
2.4常见问题
spring boot中配置的端口失效
(spring boot端口中配置的是内置的tomcat服务器端口,要按照独立原生的tomcat服务器端口访问服务)
tomcat启动时报错
spring boot中配置的端口失效*
(spring boot端口中配置的是内置的tomcat服务器端口,要按照独立原生的tomcat服务器端口访问服务)
tomcat启动时报错
(maven的pom.xml没配置打包时去除内置tomcat,否则可能会发生冲突)