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 服务器,这在生产环境中较为常见。

相关推荐
无名之逆7 小时前
Rust 开发提效神器:lombok-macros 宏库
服务器·开发语言·前端·数据库·后端·python·rust
cg50177 小时前
Spring Boot 的配置文件
java·linux·spring boot
rainFFrain7 小时前
单例模式与线程安全
linux·运维·服务器·vscode·单例模式
GalaxyPokemon7 小时前
Muduo网络库实现 [九] - EventLoopThread模块
linux·服务器·c++
程序猿熊跃晖7 小时前
解决 MyBatis-Plus 中 `update.setProcInsId(null)` 不生效的问题
数据库·tomcat·mybatis
xujiangyan_9 小时前
nginx的反向代理和负载均衡
服务器·网络·nginx
GalaxyPokemon9 小时前
Muduo网络库实现 [十] - EventLoopThreadPool模块
linux·服务器·网络·c++
自由鬼9 小时前
开源虚拟化管理平台Proxmox VE部署超融合
linux·运维·服务器·开源·虚拟化·pve
孤独得猿10 小时前
Qt常用控件第一部分
服务器·开发语言·qt
橘猫云计算机设计10 小时前
基于springboot的考研成绩查询系统(源码+lw+部署文档+讲解),源码可白嫖!
java·spring boot·后端·python·考研·django·毕业设计