SpringBoot后端项目通过tomcat部署到Linux云主机

Posted on 2022-03-26 15:39  quantumLQ  阅读(258)  评论(0编辑  收藏  举报

开门见山的说,总共分7步。

建议小伙伴们先在本地windows的tomcat上演练一番,成功出仓了再上云。

1、打包时排除springboot内置的tomcat

移除tomcat,springboot中application.xml的port设置的端口号失效

<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-web</artifactId>
  <exclusions>
  <exclusion>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-tomcat</artifactId>
  </exclusion>
  </exclusions>
</dependency>
<dependency>
  <groupId>javax.servlet</groupId>
  <artifactId>javax.servlet-api</artifactId>
  <version>3.1.0</version>
  <scope>provided</scope>
</dependency>

2、指定打包方式

<packaging>war</packaging>

3、新建启动类

将原有的springboot启动类改成继承SpringBootServletInitialize并重写configure方法return本启动类,建议新建一个启动类

@SpringBootApplication
@EnableCaching
public class HelloSpringBoot extends SpringBootServletInitializer {
  public static void main(String[] args) {
      SpringApplication.run(HelloSpringBoot.class,args);
  }
  @Override
  protected SpringApplicationBuilder configure(SpringApplicationBuilder builder){
      return builder.sources(HelloSpringBoot.class);
  }
}

4、idea打包

先clean,后package

 

5、将war包放到webapps文件夹下

1、根据输出目录找到war文件

 

2、war包放到webapps文件夹,可以删除webapps文件夹下原来的内容,tomcat启动时会自动处理war包

6、在tomcat配置文件中指定ContextPath和war路径,修改后重启tomcat生效

server.xml配置文集在<host>标签中添加

<Context path="" docBase="war文件全类名.war" debug="0" reloadable="true" crossContext="true"/>

其中,path是url路径中的工程名称,docBase是项目war全类名

7、启动tomcat

/etc/apache-tomcat-9.0.29/bin/startup.sh

启动成功

测试接口,成功拿到数据

 

 

 

关闭tomcat命令

/etc/apache-tomcat-9.0.29/bin/shutdown.sh

8、随便写几个前端页面美化一下,就可以拿出去吹B啦!

Copyright © 2024 quantumLQ
Powered by .NET 9.0 on Kubernetes