springboot项目如何部署到tomcat中

1、使用springboot内部嵌入的tomcat

可以改一些tomcat的参数

2、可以把springboot项目打包为war包,然后部署到tomcat中去

Spring Boot 默认使用嵌入式 Tomcat 作为其 Web 容器,这使得 Spring Boot 应用可以作为一个独立的 JAR 文件运行。这种嵌入式服务器的方式简化了部署过程,只需要 Java 环境即可运行。

嵌入式 Tomcat 的特点

  • 简化部署:Spring Boot 应用被打包为一个可执行的 JAR 文件,包含嵌入式 Tomcat,无需外部服务器。

  • 快速启动:嵌入式服务器使得应用启动速度更快,适合开发和测试环境。

  • 易于配置 :通过 application.propertiesapplication.yml 文件,可以轻松配置嵌入式 Tomcat 的各种参数。

配置嵌入式 Tomcat

在 Spring Boot 中,你可以通过 application.properties 文件来配置嵌入式 Tomcat 的各种属性。例如,配置服务器端口:

properties复制

复制代码
server.port=8180

还可以配置连接池参数:

properties复制

复制代码
server.tomcat.accept-count=100
server.tomcat.max-connections=10000
server.tomcat.max-threads=200
server.tomcat.min-spare-threads=10

使用外部 Tomcat 部署

虽然 Spring Boot 默认使用嵌入式 Tomcat,但你也可以将 Spring Boot 应用打包为 WAR 文件,并部署到外部的 Tomcat 服务器。这在生产环境中较为常见,因为外部 Tomcat 提供了更多的管理和配置选项。

将 Spring Boot 应用部署到外部 Tomcat

  1. 修改 pom.xml:将项目打包为 WAR 文件,并排除嵌入式 Tomcat:

    xml复制

    复制代码
    <packaging>war</packaging>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-tomcat</artifactId>
        <scope>provided</scope>
    </dependency>
  2. 修改主类 :确保主类继承 SpringBootServletInitializer

    java复制

    复制代码
    @SpringBootApplication
    public class Application extends SpringBootServletInitializer {
        public static void main(String[] args) {
            SpringApplication.run(Application.class, args);
        }
    }
  3. 打包并部署 :使用 Maven 打包项目,然后将生成的 WAR 文件部署到 Tomcat 的 webapps 目录。

总结

Spring Boot 默认使用嵌入式 Tomcat,这使得应用可以作为一个独立的 JAR 文件运行,简化了部署过程。然而,你也可以将 Spring Boot 应用打包为 WAR 文件,并部署到外部的 Tomcat 服务器,这在生产环境中较为常见。

相关推荐
yzx9910139 分钟前
服务器生成图片
运维·服务器
愿你天黑有灯下雨有伞18 分钟前
告别复杂配置!Spring Boot优雅集成百度OCR的终极方案
spring boot·百度·ocr
liulilittle2 小时前
C++ TAP(基于任务的异步编程模式)
服务器·开发语言·网络·c++·分布式·任务·tap
caolib5 小时前
无需云服务器的内网穿透方案 -- cloudflare tunnel
运维·服务器·内网穿透·tunnel·cloudflared
誰能久伴不乏5 小时前
Linux系统调用概述与实现:深入浅出的解析
linux·运维·服务器
程序员学习随笔6 小时前
Linux进程深度解析(2):fork/exec写时拷贝性能优化与exit资源回收机制(进程创建和销毁)
linux·运维·服务器
-SGlow-6 小时前
MySQL相关概念和易错知识点(2)(表结构的操作、数据类型、约束)
linux·运维·服务器·数据库·mysql
代码改变世界ctw6 小时前
Linux内核设计与实现 - 第14章 块I/O层
linux·运维·服务器
Dreams_l7 小时前
网络编程2(应用层协议,传输层协议)
运维·服务器·网络
双力臂4048 小时前
Spring Boot 单元测试进阶:JUnit5 + Mock测试与切片测试实战及覆盖率报告生成
java·spring boot·后端·单元测试