部署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