• Tomcat部署springboot项目


     Tomcat版本 9.0

     springboot版本 2.4

    springboot现在默认内置了Tomcat,但是为了方便部署多项目,需要将SpringBoot打包成war包,这样可以在一个Tomcat下部署多个站点

    1,增加EasyCmsServletInitializer类

    public class EasyCmsServletInitializer extends SpringBootServletInitializer {
        @Override
        protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
            return application.sources(EasycmsBootApplication.class);
        }
    }

    2,修改pom.xml配置 ,增加war包格式

       <groupId>com.easycms</groupId>
        <artifactId>easycms-boot</artifactId>
        <version>1.0.0</version>
        <packaging>war</packaging> <!-- 打包war使用-->

    3,去除内置Tomcat

            <!-- 打包war使用,移除自带的Tomcat插件之后会报错,加入下面的依赖 -->
    <!--        <dependency>-->
    <!--            <groupId>javax.servlet</groupId>-->
    <!--            <artifactId>javax.servlet-api</artifactId>-->
    <!--            <scope>provided</scope>-->
    <!--        </dependency>-->
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-tomcat</artifactId>
                <scope>provided</scope>
            </dependency>

    4,打包

    使用命名

    mvn clean package -Dmaven.test.skip=true

    或者IDEA的maven菜单打包

    5,新建Tomcat配置

       1, 新建站点文件夹 webappsCMS 

       2,复制 conf/Catalina文件夹的副本,命名为CatalinaCMS

       3,配置conf/server.xml  复制Service.xml节点作为新站点的配置

           配置内容如下

        

    <Service name="CatalinaCMS">
        <Connector port="7070" protocol="HTTP/1.1"
                   connectionTimeout="20000"
                   redirectPort="8443" />
    
        <Engine name="CatalinaCMS" defaultHost="localhost">
          <Realm className="org.apache.catalina.realm.LockOutRealm">
    
            <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
                   resourceName="UserDatabase"/>
          </Realm>
    
          <Host name="localhost"  appBase="webappsCMS"
                unpackWARs="true" autoDeploy="true">
         <Context path="" docBase="easycms-boot-1.0.0" debug="0" reloadable="true" />
            <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
                   prefix="localhost_access_log" suffix=".txt"
                   pattern="%h %l %u %t &quot;%r&quot; %s %b" />
    
          </Host>
        </Engine>
      </Service>

    6,部署后会遇到Tomcat请求区分大小写的问题

     可以在其<Context>(位于tomcat根目录下:conf/context.xml文件中)元素中增加“caseSensitive="false"”来使其不区分大小写

    记忆力下降,日常日志
  • 相关阅读:
    java 基于服务做统一数据导出
    canvas实行五星红旗盖章
    linux 端口操作
    windows mysql 连接
    C++ 保留有效位数 和 保留小数位数
    C++ cv::Mat数据类型 + 提取某些行或列
    element中table的表格更新数据之后保留原来的勾选状态
    js 下载网络文件到本地,根据url下载文件,下载本地文件
    QML与C++ 集成概览
    Qt中qDebug不能输出的解决
  • 原文地址:https://www.cnblogs.com/yushuo/p/14473547.html
Copyright © 2020-2023  润新知