欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Tomcat -- 07 -- Linux上部署war包

程序员文章站 2024-01-12 12:58:28
...

原文链接:Tomcat – 07 – Linux上部署war包


相关文章:


这里主要介绍下如何将项目打包成 war 包,并将其部署到服务器上进行访问

用到的工具如下

  • IntelliJ IDEA 2018.3.1 x64

  • apache-tomcat-9.0.36

  • apache-maven-3.5.2


一、编写项目

  • 首先我们先创建一个 SpringBoot 项目,该项目里只有一个类,如下所示

    @RestController
    public class HelloController {
    
        @GetMapping(value = "/hello")
        public String hello() {
            return "Hello World !";
        }
    }
    
  • SpringBoot 项目直接打包,默认会打成 jar 包,因此这里我们将它改成 war 包的形式,并以外部 Tomcat 的方式来启动

  • 将 SpringBoot 项目改为外置 Tomcat 启动,可以查看这篇文章:SpringBoot项目改为外置Tomcat启动


二、生成 war 包

  • 接着我们先在 IDEA 中配置本地 Maven,然后点击 IDEA 面板右侧的 Maven 选项,点击 package 即可生成 war 包
    Tomcat -- 07 -- Linux上部署war包

三、部署项目并验证

  • 方式一

    • 直接将打好的 war 包上传到 Tomcat 的 webapps 目录下

      • cd /usr/local/tomcat/apache-tomcat-9.0.36/webapps

      • rz demo-0.0.1-SNAPSHOT.war

    • 当 Tomcat 启动时,会自动解压 webapps 目录下的 war 包,并启动项目

      • cd /usr/local/tomcat/apache-tomcat-9.0.36/bin

      • ./startup.sh
        Tomcat -- 07 -- Linux上部署war包

    • 在浏览器输入:IP + Tomcat 端口 + 项目名 + 访问路径,进行验证,结果符合预期
      Tomcat -- 07 -- Linux上部署war包

  • 方式二

    • 上传项目至指定目录目录并解压

      • mkdir -p /data/demo

      • cd /data/demo

      • rz demo-0.0.1-SNAPSHOT.war

      • unzip demo-0.0.1-SNAPSHOT.war

    • 修改 server.xml 配置文件 (在 Host 标签中插入)

      • cd /usr/local/tomcat/apache-tomcat-9.0.36/conf/

      • vim server.xml

        <Context path="/test" docBase="/data/demo" debug="0" reloadbale="true"></Context>
        
      • :wq

    • Context 标签中几个参数作用如下

      • path

        • 项目访问路径,如:http://localhost:8080/test/…
      • docBase

        • 项目所在路径,即 war 包解压后文件所在的路径
      • debug

        • 用于设置 Tomcat 的日志调试信息 (debug level)

        • 0 表示提供最少的信息,9 表示提供最多的信息,数值越大越详细

      • reloadbale

        • 当该属性设为 true 时,Tomcat 会在运行状态下会监控在 WEB-INF/classes 和 WEB-INF/lib 目录下 Class 文件的改动,如果监测到有 Class 文件被更新,则服务器会自动重新加载 Web 应用
    • 启动 Tomcat

      • cd /usr/local/tomcat/apache-tomcat-9.0.36/bin

      • ./startup.sh

    • 在浏览器输入:IP + Tomcat 端口 + path + 访问路径,进行验证,结果符合预期
      Tomcat -- 07 -- Linux上部署war包

  • 方式三

    • 在 conf/Catalina/localhost 中添加一个 xml 文件

      • cd /usr/local/tomcat/apache-tomcat-9.0.36/conf/Catalina/localhost/

      • vim demo.xml

        <Context docBase="/data/demo" debug="0" reloadbale="true"></Context>
        
      • :wq

    • 使用这种方式,Tomcat 会将 xml 文件的名字作为 web 应用的上下文路径,而不再理会 <Context> 标签中配置的 path 路径,因此在配置的时候,我们可以不用配置 path,即使写了也没有用

    • 启动 Tomcat

      • cd /usr/local/tomcat/apache-tomcat-9.0.36/bin

      • ./startup.sh

    • 在浏览器输入:IP + Tomcat 端口 + xml 文件名 + 访问路径,进行验证,结果符合预期
      Tomcat -- 07 -- Linux上部署war包

  • 后两种部署方式的区别在于

    • 方式二

      • server.xml 作为 Tomcat 的主要配置文件,一旦 Tomcat 启动后,便不会再去读取这个文件,因此想要部署新的 web 应用必须重启 Tomcat
    • 方式三

      • 每个项目分开配置,Tomcat 会将 xml 文件的名字作为 Web 应用的上下文路径,当 Tomcat 启动后,Tomcat 会去不断扫描 conf/Catalina/localhost/ 下的 xml 文件,当发现新的 xml 文件后,会将 xml 中指定的 Web 项目动态加载到 Tomcat 中,也就是说想要部署新的 web 应用无需重启 Tomcat (热加载)
相关标签: Tomcat