部署springboot项目的方式有多种,可以把项目做成docker的镜像,也可以打成jar包,使用java -jar命令运行 ,这在之前的博客我都有介绍,还有另外一种方式,使用tomcat部署,本次介绍基于docker的tomcat部署SpringBoot项目

Linux使用的是CentOS7 ,首先在docker 中安装tocmat

docker pull tomcat

创建tomcat容器并把它挂载到本地/opt/docker/tomcat01/webapps中

docker run -itd --name tomcat01 -p 58080:8080 -v /opt/docker/tomcat01/webapps:/usr/local/tomcat/webapps tomcat
在pom.xml文件中修改打包方式为war包

添加tomcat的springboot-starter

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</dependency>

添加SpringBootServletInitializer配置类

public class ServletInitializer extends SpringBootServletInitializer {

@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
return builder.sources(GmApplication.class);
}
}

使用maven的 clean 及package命令生成war包

修改war包名为简短的名字,因为此时的项目名即为war包名,不再受你在application.yml中的配置了,并且端口号也是tomcat的端口号,也不再受我们的配置,我就改war包为gm.war
打开tomcat的端口号58080

firewall-cmd --zone=public --add-port=58080/tcp --permanent

重启防火墙

firewall-cmd --reload

输入xxx.xxx.xxx.xxxx:58080/gm访问首页
使用阿里云的注意开启安全组58080

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐