springboot 配置tomcat部署项目

springboot部署项目有两种:

1、使用内置tomcat,打成jar包,发布到线上即可。

2、使用外置tomcat,打成war包,线上需要另外tomcat把war包放在tomcat目录下才能运行

 

一、使用springboot内置tomcat,打成jar包

1、tomcat是一个免费的、开放源码的Web应用服务器,作为中小型系统和并发访问用户不是很多的场合下被普遍使用。springboot默认使用tomcat作为内嵌的servlet容器。查看spring-boot-starter-web依赖可知

如果想使用其他容器,比如Jetty作为Springboot默认内置容器,只需要修改spring-boot-starter-web依赖即可,具体修改如下

2、由于maven打jar包,总是运行junit test这是因为spring-boot-maven-plugin插件已经集成了maven-surefire-plugin插件会自动运行 junit test,只需要在pom.xml里增加

   <properties>
        <java.version>1.8</java.version>
            <!-- maven打jar包,跳过junit test测试 -->
            <skipTests>true</skipTests>
    </properties>

3、使用maven管理,运行packsge,打成jar包

4、运行jar包,进入cmd,运行java -jar + jar包名

5、在浏览器输入网址,即可访问项目 

 

二、使用springboot配置外置tomcat

1、排除内置 Tomcat

 <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-tomcat</artifactId>
      <version>2.2.6.RELEASE</version>
      <!--<scope>compile</scope>-->
      <scope>provided</scope>
    </dependency>

2、将打包方式更改为 war

<packaging>war</packaging>

3、修改启动类(使启动类继承 SpringBootServletInitializer 类,并覆盖 configure 方法)

/**
 * SpringBoot入口类
 */
@EnableRetry
@ServletComponentScan
@SpringBootApplication
public class DemoApplication  extends SpringBootServletInitializer {

    public static void main(String[] args) {
        SpringApplication.run(DemoApplication.class, args);
    }

    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
        return application.sources(DemoApplication.class);
    }

}

4、添加依赖、由于 SpringBootServletInitializer 类需要用到 servlet-api 的相关 jar 包,所以需要添加依赖

        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <version>4.0.1</version>
            <scope>provided</scope>
        </dependency>

5、配置项目打包路径

6、安装tomcat,并在idea中新增tomcat配置

7、正常启动tomcat,就能通过网址访问了。如果要打war,直接用package

### 回答1: Spring Boot默认使用内嵌的Tomcat作为web容器。但是如果需要使用外部的Tomcat来运行Spring Boot应用,可以在pom.xml中添加如下依赖: ``` <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> <scope>provided</scope> </dependency> ``` 之后,可以使用maven插件将应用打包成war文件并部署到外部的Tomcat中。 ``` <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> ``` 然后执行mvn package命令打包项目,会在target目录下得到war文件,将其发布到外部tomcat即可。 ### 回答2: Spring Boot是一种用于快速构建基于Spring框架的应用程序的工具。配置Tomcat是Spring Boot应用程序的关键之一,因为Tomcat是处理Web请求的Java servlet容器。下面是如何在Spring Boot应用程序中配置Tomcat的详细步骤: 首先,在pom.xml文件中添加以下spring-boot-starter-web依赖项: ``` <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> </dependencies> ``` 然后,在application.properties文件中指定Tomcat的端口号以及Tomcat context path: ``` server.port=8080 server.servlet.context-path=/MyApp ``` 接着,在主应用程序类中添加如下代码以启动内嵌Tomcat容器: ``` @SpringBootApplication public class MyApp { public static void main(String[] args) { SpringApplication.run(MyApp.class, args); } } ``` 这样就完成了Spring Boot应用程序中Tomcat的基本配置过程。如果需要配置更多的Tomcat属性,可以在application.properties文件中添加更多的Tomcat属性配置项。 例如,可以配置Tomcat的最大线程数: ``` server.tomcat.max-threads=200 ``` 还可以配置Tomcat的连接器使用的协议,如HTTP或HTTPS: ``` server.ssl.key-store=/path/to/keystore server.ssl.key-store-password=secret server.ssl.key-password=anothersecret server.ssl.enabled=true server.port=8443 ``` 通过这些配置可以配置Tomcat的各种属性,以满足特定的应用程序需求。在实际开发过程中,还可以使用Spring Boot提供的可插拔扩展机制来配置更多的Tomcat属性。 ### 回答3: 在使用Spring Boot框架时,我们经常需要将应用程序中的Web组件部署Tomcat等Web服务器上。使用Spring Boot自带的Tomcat作为Web服务器是简单且方便的,但是在某些情况下,我们需要将我们的Spring Boot应用程序部署在其他Web服务器上。本文将介绍如何配置Spring Boot以使用外部Tomcat作为Web服务器。 首先,我们需要进行以下三个步骤: 1.添加外部Tomcat依赖 为了使用外部Tomcat,我们需要在pom.xml中添加以下依赖项: ``` <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <scope>provided</scope> </dependency> <dependency> <groupId>org.apache.tomcat.embed</groupId> <artifactId>tomcat-embed-core</artifactId> <version>${tomcat.version}</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.apache.tomcat.embed</groupId> <artifactId>tomcat-embed-jasper</artifactId> <version>${tomcat.version}</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.apache.tomcat.embed</groupId> <artifactId>tomcat-embed-logging-juli</artifactId> <version>${tomcat.version}</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.apache.tomcat.embed</groupId> <artifactId>tomcat-embed-websocket</artifactId> <version>${tomcat.version}</version> <scope>provided</scope> </dependency> ``` 其中,“provided”表示这些依赖项在编译和运行时需要,但是在Tomcat服务器上已经存在,所以我们将这些依赖项标记为"provided"。 2.修改打包方式 Spring Boot默认使用可执行的jar文件来打包应用程序。但是,为了将应用程序部署到外部Tomcat服务器上,我们需要使用war文件来打包应用程序。我们可以通过以下方式指定打包方式: 在pom.xml中添加以下信息: ``` <build> <finalName>my-application</finalName> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <executions> <execution> <goals> <goal>repackage</goal> </goals> <configuration> <classifier>exec</classifier> </configuration> </execution> </executions> </plugin> </plugins> </build> ``` 添加了"spring-boot-maven-plugin"插件,它将"repackage"目标设置为在Maven打包过程中重新打包一个fat jar工件,并将其设置为启动器的唯一依赖项。fat jar包含运行应用程序所需的所有类和依赖项。 3.配置外部Tomcat服务器 现在我们已经准备好使用外部Tomcat作为Web服务器进行部署。为此,我们需要对Tomcat进行一些配置。 在Tomcat中创建“conf\Catalina\localhost”目录,并在该目录下创建一个名为“my-application.xml”的文件。在该文件中,我们需要指定Web应用程序的上下文路径、它的war文件、以及日志和调试信息等信息。例如: ``` <?xml version="1.0" encoding="UTF-8"?> <Context path="/my-application" docBase="C:\Users\username\Desktop\my-application.war"> <WatchedResource>WEB-INF/web.xml</WatchedResource> <Resource name="jdbc/my-database" auth="Container" type="javax.sql.DataSource" maxTotal="100" maxIdle="30" maxWaitMillis="10000" username="root" password="password" driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost/test"/> </Context> ``` 其中,“docBase”属性指定了war文件的路径。我们还可以在这个文件中配置JNDI数据源、调试信息等等。 现在,我们已经完成了所有的配置,我们可以启动外部Tomcat服务器并部署我们的应用程序。 启动Tomcat服务器时,我们需要在控制台中检查输出以确保应用程序已成功启动。可以在浏览器中输入"http://localhost:8080/my-application/"进行测试。 以上就是如何使用外部Tomcat作为Web服务器进行Spring Boot应用程序部署的全部步骤。尽管使用Spring Boot自带的Tomcat作为Web服务器非常方便,但是在某些情况下,使用外部Web服务器是必需的。所以如果您需要将应用程序部署到外部Tomcat服务器上,就按照上述步骤进行配置吧。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值