zoukankan      html  css  js  c++  java
  • idea 打包Springboot为(war) 部署到tomcat 配置域名访问

    1.在pom.xml里设置 <packaging>war</packaging>

    2.去除内置tomcat

     <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId>
                <!-- 去除内嵌tomcat -->
                <exclusions>
                    <exclusion>
                        <groupId>org.springframework.boot</groupId>
                        <artifactId>spring-boot-starter-tomcat</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
    
    
            <!--添加servlet的依赖-->
            <dependency>
                <groupId>javax.servlet</groupId>
                <artifactId>javax.servlet-api</artifactId>
                <version>3.1.0</version>
                <scope>provided</scope>
            </dependency>

    3.修改启动类

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

    在Application类的同级添加一个SpringBootStartApplication类,其代码如下:

    /**
     * 修改启动类,继承 SpringBootServletInitializer 并重写 configure 方法
     */
    public class SpringBootStartApplication extends SpringBootServletInitializer {
     
        @Override
        protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
            // 注意这里要指向原先用main方法执行的Application启动类
            return builder.sources(Application.class);
        }
    }

    接着可以打包了:

    打包好会生成以为xxx.war的文件,在你项目target文件里

    以下是部署配置tomcat的操作

    第一步把打包好的war包 放到 tomcat目录下的webapps 下

    截图:

    第二步:找到tomcat目录下的server.xml配置文件

    server.xml在conf文件夹下面

    编辑server.xml,将下图位置的8080端口更改为80

     我这里已经改成80了

    第三步:

    将Host中的name更改成要设置的域名或IP地址,本例中设置了如下域名,此外,我们还需要在Host下配置一个Context用于指定应用的运行环境。其中:

    1. docBase(Document Base)为应用相对于webapps的路径,如果将docBase设置为Web应用名称(本例为demo),则在Url地址中就可以不用输入项目名称了;

    2. path为应用的上下文路径,如果默认为空则表明当前Context为默认Context;

    3. reloadable默认为false,表明是否监听/WEB-INF/classes/以及/WEB-INF/lib目录的变化,应用在开发阶段可以将其设置为true,但是上生产环境时最好设置为false,否则会占用较大的虚拟机资源影响应用性能。

  • 相关阅读:
    js实现倒数 —— ‘剩下多少天多少秒’
    CSS单位,em,rem以及元素的宽度和高度
    基于原生JS+node.js+mysql打造的简易前后端分离用户登录系统
    隐藏微信小程序剪贴板提示
    微信小程序实现多选分享
    微信小程序开发过程中出现问题及解答
    Visual Studio Code 使用指南
    openLayers 4 canvas图例绘制,canvas循环添加图片,解决图片闪烁问题
    微信小程序个人/企业开放服务类目一览表
    微信小程序日常开发中常遇到的错误代码
  • 原文地址:https://www.cnblogs.com/nongzihong/p/11890715.html
Copyright © 2011-2022 走看看