web server apache tomcat11-03-deploy 如何部署

这篇具有很好参考价值的文章主要介绍了web server apache tomcat11-03-deploy 如何部署。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

整理这个官方翻译的系列,原因是网上大部分的 tomcat 版本比较旧,此版本为 v11 最新的版本。

开源项目

从零手写实现 tomcat minicat 别称【嗅虎】心有猛虎,轻嗅蔷薇。

系列文章

web server apache tomcat11-01-官方文档入门介绍

web server apache tomcat11-02-setup 启动

web server apache tomcat11-03-deploy 如何部署

web server apache tomcat11-04-manager 如何管理?

web server apache tomcat11-06-Host Manager App -- Text Interface

web server apache tomcat11-07-Realm Configuration

web server apache tomcat11-08-JNDI Resources

web server apache tomcat11-09-JNDI Datasource

web server apache tomcat11-10-Class Loader

....

Tomcat Web 应用部署

简介

部署是指将 Web 应用程序(无论是第三方 WAR 文件还是自定义的 Web 应用程序)安装到 Tomcat 服务器的过程。

在 Tomcat 服务器内,可以通过多种方式来完成 Web 应用程序的部署。

  • 静态部署:在启动 Tomcat 之前设置 Web 应用程序。
  • 动态部署:通过直接操作已部署的 Web 应用程序(依赖自动部署功能)或通过使用 Tomcat Manager Web 应用程序来远程部署。

Tomcat Manager 是一个 Web 应用程序,可以以交互方式(通过 HTML GUI)或以编程方式(通过基于 URL 的 API)来部署和管理 Web 应用程序。

有许多依赖于 Manager Web 应用程序的部署方式。

Apache Tomcat 提供了用于 Apache Ant 构建工具的任务。

Apache Tomcat Maven 插件项目提供了与 Apache Maven 的集成。

还有一个称为 Client Deployer 的工具,可以从命令行使用,并提供了额外的功能,例如编译和验证 Web 应用程序,以及将 Web 应用程序打包成 Web 应用资源(WAR)文件。

安装

对于静态部署 Web 应用程序,不需要安装,因为 Tomcat 默认提供了此功能。对于使用 Tomcat Manager 的部署功能,虽然需要一些配置(如 Tomcat Manager 手册中详细说明的那样),但不需要安装。但是,如果要使用 Tomcat Client Deployer (TCD),则需要安装。

TCD 不包含在 Tomcat 核心发行版中,因此必须从下载区域单独下载。下载通常标记为 apache-tomcat-11.0.x-deployer。

TCD 的先决条件是 Apache Ant 1.6.2+ 和 Java 安装。您的环境应定义一个 ANT_HOME 环境值,指向 Ant 安装的根目录,以及一个 JAVA_HOME 值,指向您的 Java 安装。

另外,您应确保 Ant 的 ant 命令和 Java 的 javac 编译器命令可以在您的操作系统提供的命令 shell 中运行。

  1. 下载 TCD 分发包。

  2. TCD 分发包不需要解压到任何现有的 Tomcat 安装中,它可以解压到任何位置。

  3. 阅读《使用 Tomcat Client Deployer》文档。

关于 Context

在讨论 Web 应用程序的部署时,需要理解 Context 的概念。Context 是 Tomcat 所称的 Web 应用程序。

为了在 Tomcat 中配置 Context,需要一个 Context 描述符。Context 描述符只是一个包含与 Context 相关的 Tomcat 配置的 XML 文件,例如命名资源或会话管理器配置。在较早版本的 Tomcat 中,Context 描述符配置的内容通常存储在 Tomcat 的主配置文件 server.xml 中,但现在已不鼓励这样做(尽管目前仍然有效)。

Context 描述符不仅帮助 Tomcat 知道如何配置 Context,还帮助其他工具(如 Tomcat Manager 和 TCD)正确执行其功能。

Context 描述符的位置包括:

  • $CATALINA_BASE/conf/[enginename]/[hostname]/[webappname].xml

  • $CATALINA_BASE/webapps/[webappname]/META-INF/context.xml

第一种情况的文件命名为 [webappname].xml,而第二种情况的文件命名为 context.xml。如果没有为 Context 提供 Context 描述符,Tomcat 将使用默认值配置 Context。

在 Tomcat 启动时部署

如果您不想使用 Tomcat Manager 或 TCD,则需要将 Web 应用程序静态部署到 Tomcat,然后启动 Tomcat。您需要将 Web 应用程序部署到称为 appBase 的位置,该位置由 Host 指定。您可以将所谓的“已解压” Web 应用程序(即非压缩的)复制到此位置,也可以将压缩的 Web 应用程序资源 .WAR 文件复制到此位置。

在默认的情况下,位于主机(默认主机为“localhost”)appBase 属性(默认 appBase 为“$CATALINA_BASE/webapps”)指定的位置中存在的 Web 应用程序仅在 Host 的 deployOnStartup 属性为“true”时才会在 Tomcat 启动时部署。

在这种情况下,以下部署顺序将在 Tomcat 启动时发生:

  1. 首先部署任何 Context 描述符。

  2. 然后部署任何未被任何 Context 描述符引用的已解压的 Web 应用程序。如果它们在 appBase 中有一个关联的 .WAR 文件,并且该文件比已解压的 Web 应用程序更新,则将删除已解压的目录,并重新部署 Web 应用程序。

  3. 部署 .WAR 文件。

在运行的 Tomcat 服务器上部署

可以将 Web 应用程序部署到运行中的 Tomcat 服务器上。

如果 Host 的 autoDeploy 属性设置为“true”,则 Host 将尝试根据需要动态部署和更新 Web 应用程序,例如

,如果新的 .WAR 放入了 appBase 中。要使此功能正常工作,Host 需要启用后台处理,这是默认配置。

autoDeploy 设置为“true”并且运行中的 Tomcat 允许:

  • 将 .WAR 文件复制到 Host 的 appBase 中进行部署。

  • 将已解压的 Web 应用程序复制到 Host 的 appBase 中进行部署。

  • 如果提供了新的 .WAR 文件,则重新部署已经部署的 Web 应用程序。在这种情况下,将删除已解压的 Web 应用程序,并重新展开 .WAR。请注意,如果 Host 配置为不展开 .WAR(unpackWARs 属性设置为“false”),则不会执行展开操作,此时 Web 应用程序将作为压缩的存档重新部署。

  • 如果更新了 /WEB-INF/web.xml 文件(或任何其他定义为 WatchedResource 的资源),则重新加载 Web 应用程序。

  • 如果更新了从中部署了 Web 应用程序的 Context 描述符文件,则重新部署 Web 应用程序。

  • 如果由 Web 应用程序使用的全局或每个主机的 Context 描述符文件已更新,则重新部署依赖的 Web 应用程序。

  • 如果在 $CATALINA_BASE/conf/[enginename]/[hostname]/ 目录中添加了一个文件(文件名对应于先前部署的 Web 应用程序的 Context 路径),则重新部署 Web 应用程序。

  • 如果删除了其文档基址(docBase)的 Web 应用程序,则卸载它。请注意,在 Windows 上,这假定启用了反锁定功能(参见 Context 配置),否则无法删除正在运行的 Web 应用程序的资源。

请注意,还可以在加载器中配置 Web 应用程序重新加载,这样加载的类将被跟踪以进行更改。

使用 Tomcat Manager 进行部署

Tomcat Manager 在自己的手册页面中进行了详细介绍。

使用客户端部署包进行部署

最后,可以使用 Tomcat 客户端部署程序来部署 Web 应用程序。这是一个可以用来验证、编译、压缩为 .WAR,并将 Web 应用程序部署到生产或开发 Tomcat 服务器的包。应该注意,此功能使用 Tomcat Manager,因此目标 Tomcat 服务器应该正在运行。

假设用户熟悉 Apache Ant 以使用 TCD。Apache Ant 是一个脚本化的构建工具。TCD 包含一个预打包的构建脚本。只需要对 Apache Ant 有一些基本的了解(如本页中列出的安装,并熟悉使用操作系统命令 shell 和配置环境变量)。

TCD 包含 Ant 任务,用于 JSP 编译的 Jasper 页面编译器,以及用于验证 Web 应用程序 Context 描述符的任务。验证器任务(类 org.apache.catalina.ant.ValidatorTask)仅允许一个参数:已解压的 Web 应用程序的基本路径。

TCD 使用已解压的 Web 应用程序作为输入(请参阅下面使用的属性列表)。通过 deployer 进行编程部署的 Web 应用程序可以在 /META-INF/context.xml 中包含 Context 描述符。

TCD 包含一个可立即使用的 Ant 脚本,具有以下目标:

  • compile(默认):编译和验证 Web 应用程序。这可以独立使用,不需要运行的 Tomcat 服务器。编译的应用程序仅在关联的 Tomcat X.Y.Z 服务器发布中运行,并不能保证在另一个 Tomcat 发布中工作,因为 Jasper 生成的代码依赖于其运行时组件。还应该注意,此目标还会自动编译位于 /WEB-INF/classes 文件夹中的任何 Java 源文件。
  • deploy:将 Web 应用程序(已编译或未编译)部署到 Tomcat 服务器。
  • undeploy:卸载 Web 应用程序
  • start:启动 Web 应用程序
  • reload:重新加载 Web 应用程序
  • stop:停止 Web 应用程序

为了配置部署,需要在 TCD 安装目录根目录下创建一个名为 deployer.properties 的文件。在此文件中,每行添加以下名称=值对:

此外,您需要确保为目标 Tomcat Manager(TCD 使用的)设置了用户,否则 TCD 将无法与 Tomcat Manager 进行身份验证,部署将失败。

要执行此操作,请参阅 Tomcat Manager 页面。

参考资料

https://tomcat.apache.org/tomcat-11.0-doc/deployer-howto.html文章来源地址https://www.toymoban.com/news/detail-854398.html

到了这里,关于web server apache tomcat11-03-deploy 如何部署的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • web server apache tomcat11-10-Class Loader

    整理这个官方翻译的系列,原因是网上大部分的 tomcat 版本比较旧,此版本为 v11 最新的版本。 从零手写实现 tomcat minicat 别称【嗅虎】心有猛虎,轻嗅蔷薇。 web server apache tomcat11-01-官方文档入门介绍 web server apache tomcat11-02-setup 启动 web server apache tomcat11-03-deploy 如何部署 web

    2024年04月22日
    浏览(59)
  • web server apache tomcat11-08-JNDI Resources

    整理这个官方翻译的系列,原因是网上大部分的 tomcat 版本比较旧,此版本为 v11 最新的版本。 从零手写实现 tomcat minicat 别称【嗅虎】心有猛虎,轻嗅蔷薇。 web server apache tomcat11-01-官方文档入门介绍 web server apache tomcat11-02-setup 启动 web server apache tomcat11-03-deploy 如何部署 web

    2024年04月22日
    浏览(62)
  • web server apache tomcat11-26-maven jars

    整理这个官方翻译的系列,原因是网上大部分的 tomcat 版本比较旧,此版本为 v11 最新的版本。 从零手写实现 tomcat minicat 别称【嗅虎】心有猛虎,轻嗅蔷薇。 web server apache tomcat11-01-官方文档入门介绍 web server apache tomcat11-02-setup 启动 web server apache tomcat11-03-deploy 如何部署 web

    2024年04月28日
    浏览(35)
  • web server apache tomcat11-07-Realm Configuration

    整理这个官方翻译的系列,原因是网上大部分的 tomcat 版本比较旧,此版本为 v11 最新的版本。 从零手写实现 tomcat minicat 别称【嗅虎】心有猛虎,轻嗅蔷薇。 web server apache tomcat11-01-官方文档入门介绍 web server apache tomcat11-02-setup 启动 web server apache tomcat11-03-deploy 如何部署 web

    2024年04月25日
    浏览(66)
  • web server apache tomcat11-01-官方文档入门介绍

    整理这个官方翻译的系列,原因是网上大部分的 tomcat 版本比较旧,此版本为 v11 最新的版本。 同时也为从零手写实现 tomcat 提供一些基础和特性的思路。 minicat 别称【嗅虎】心有猛虎,轻嗅蔷薇。 web server apache tomcat11-01-官方文档入门介绍 web server apache tomcat11-02-setup 启动 we

    2024年04月16日
    浏览(68)
  • web server apache tomcat11-24-Virtual Hosting and Tomcat

    整理这个官方翻译的系列,原因是网上大部分的 tomcat 版本比较旧,此版本为 v11 最新的版本。 从零手写实现 tomcat minicat 别称【嗅虎】心有猛虎,轻嗅蔷薇。 web server apache tomcat11-01-官方文档入门介绍 web server apache tomcat11-02-setup 启动 web server apache tomcat11-03-deploy 如何部署 web

    2024年04月27日
    浏览(37)
  • web server apache tomcat11-06-Host Manager App

    整理这个官方翻译的系列,原因是网上大部分的 tomcat 版本比较旧,此版本为 v11 最新的版本。 从零手写实现 tomcat minicat 别称【嗅虎】心有猛虎,轻嗅蔷薇。 web server apache tomcat11-01-官方文档入门介绍 web server apache tomcat11-02-setup 启动 web server apache tomcat11-03-deploy 如何部署 web

    2024年04月22日
    浏览(62)
  • web server apache tomcat11-12-SSL/TLS Configuration

    整理这个官方翻译的系列,原因是网上大部分的 tomcat 版本比较旧,此版本为 v11 最新的版本。 从零手写实现 tomcat minicat 别称【嗅虎】心有猛虎,轻嗅蔷薇。 web server apache tomcat11-01-官方文档入门介绍 web server apache tomcat11-02-setup 启动 web server apache tomcat11-03-deploy 如何部署 web

    2024年04月22日
    浏览(47)
  • web server apache tomcat11-21-monitor and management 监控与管理

    整理这个官方翻译的系列,原因是网上大部分的 tomcat 版本比较旧,此版本为 v11 最新的版本。 从零手写实现 tomcat minicat 别称【嗅虎】心有猛虎,轻嗅蔷薇。 web server apache tomcat11-01-官方文档入门介绍 web server apache tomcat11-02-setup 启动 web server apache tomcat11-03-deploy 如何部署 web

    2024年04月25日
    浏览(67)
  • 保姆级!如何在Window Server服务器上用tomcat部署java web项目

    首先,打开idae软件(我项目用的idea,也可以其他)导入你的项目,然后运行项目,确保项目能在localhost:8080,即在本地上运行。 确保能在本地上运行,且项目所有的已实现的功能没有bug,多测试几次。 然后打包项目,在打包前,看看数据库的.sql文件放在哪个位置(如果有的

    2024年02月06日
    浏览(52)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包