前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Tomcat-4.部署

Tomcat-4.部署

作者头像
悠扬前奏
发布2019-05-28 13:23:56
6160
发布2019-05-28 13:23:56
举报

1. 简介

部署(Deployment):将Web应用(第三方的WRA文件,或者自己定制的Web应用)安装到Tomcat服务器上的过程。

在Tomcat服务器上,部署Web应用有多种方法:

  • 静态部署,在启动Tomcat之前安装Web 应用
  • 动态部署,使用Tomcat的Manager应用直接操纵已经部署好的Web应用(依赖于auto-deplyment特性)
Tomcat Manager

Tomcat Manager是一个能交互(通过HTML GUI)或者编程(通过基于URL的API)来部署并管理Web应用的Web应用。

通过Tomcat Manager实现应用的部署
  • Tomcat为Apache Ant构建工具提供了多个任务。
  • Apache Tomcat Maven Plugin工程提供了与Apache Maven的集成
  • 客户端配置器(Client Deployer,TCD),通过命令行来使用,提供一些额外功能,比如编译与验证Web应用,以及将Web应用打包成Web应用资源(WAR)文件

2.安装

  • 静态部署Web应用不需要安装,因为Tomcat已经提供了这项功能
  • 利用Tomcat Manager部署应用也不需要安装,但是需要配置,详见Tomcat Manager 手册
  • 使用客户端配置器部署需要安装

Tomcat核心发行版没有包含TCD,需要从下载区下载,通常名为:apache-tomcat-8.0.x-deployer,需要定义一个指向ANT安装根目录的ANT_HOME环境变量,需要一个指向Java安装目录的JAVA_HOME值, 需要在操作系统所提供的命令shell中运行ANT的ant命令,和Java的javacm命令。

3.上下文

  • 上下文(context):在Tomcat中就是Web应用的意思。
  • 上下文配置文件(Context Descriptor):为了在Tomcat中配置上下文,需要用到上下文配置文件(Context Descriptor)。
    • 上下文描述文件是一个xml文件。
    • 包含了Tomcat和上下文相关的配置文件,例如命令资源和会话管理配置信息
    • Tomcat的早期版本的描述文件通常保存在server.xml中,现在不再推荐(但是仍然有效)
    • Manage与TCD都需要用到上下文描述文件

上下文描述文件位于:

  1. $CATALINA_BASE/conf/[enginename]/[hostname]/[webappname].xml
  2. $CATALINA_BASE/webapps/[webappname]/META-INF/context.xml 如果Web应用没有相应的上下文描述文件,Tomcat就会使用默认配置该应用。

4. 在启动Tomcat时部署

将Web应用静态的部署到Tomcat中,再启动Tomcat,这种情况下应用部署的位置有appBase目录决定,每台主机都指定了一个这样的位置。该位置可以放入war包或者展开的web应用。 appBase属性默认为$CATALINA_BASE/webapps,当主机的deployOnStartup属性为true,应用才会在Tomcat启动时进行自动部署。

Tomcat启动时部署,步骤如下:

  1. 部署上下文描述文件
  2. 部署没有被任何上下文描述文件引用过的展开的Web应用。如果appBase中已经存在与这个应用有关的.war文件,并且要比展开的应用文件更新,那么会将展开的的应用文件夹清除,从.war 文件中部署Web应用
  3. 部署.war文件

5.在运行中的Tomcat服务器上进行动态应用部署

如果主机的autoDeploy属性为true(默认属性),主机就会在必要时尝试动态部署并更新Web应用,包括一下行为:

  • 对放入主机appBase指定目录下的war文件进行部署
  • 对放入主机的展开的的web应用进行部署
  • 对于已通过war文件配置好的应用,如果又提供了更新的war文件,则使用新的war文件对该应用重新部署。在此情况下,会先移除原有的展开的web应用,然后对war文件进行展开的。如果在主机配置中,没有吧unpackWARs属性设置为fasle,则war文件不会被展开的,这是web应用被部署为一个压缩文件。
  • 如果/WEB_INFO/web.xml文件(或者其他任何被定义为WatchedResource的资源)更新,则重新加载web应用。
  • 如果用来部署web应用的上下文描述文件更新,则重新部署web应用
  • 如果web应用所使用的全局或者每台主机中的上下文描述文件已经更新,则重新部署与该应用有依赖关系的web应用
  • 如果一个上下文描述文件被添加到$CATALINA_BASE/conf/[enginename]/[hostname]/目录中,并且该描述文件带有与之前部署的web应用的上下文路径向对应的文件名,则重新部署该web应用
  • 如果某个web应用的文档库(docBase)被删除,则取消对该应用的部署。在Windows系统下,要向实现这样的行为,必须开启防死锁功能(参考Context配置文档

可以在加载器中对web应用的重新加载进行配置,在这种情况下,会跟踪已经加载类所产生的更改。

6.使用Tomcat Manager进行部署

详述见Tomcat Manager

7.使用客户端部署器进行部署

客户端部署器(TCD)的行为包括:

  • 验证并编译web应用
  • 将资源压缩成war文件
  • 将web应用部署到用于生产或开发环境的Tomcat服务器上

TCD需要用到Ant,包含了一个Ant脚本,包括一下目标:

  • compile(默认) 编译和验证应用。该部分功能可以独立使用,不需要运行中的tomcat。经过编译的应用也只能与相应版本的tomcat关联,不能保证在其他容器中也能使用。这个任务会自动编译在/WEB_INF/classes目录下的类
  • deploy 在Tomcat服务器上部署web应用(无论其是否编译过)
  • undeploy 取消对某个web应用的部署
  • start 开启web应用
  • reload 重新加载web应用
  • stop 停止web应用

另外需要在deployer.properties的文件中进行一下键值对的配置:

  • build:构建目录,默认是
{build}/webapp/
{build}/webapp/

{path}其中

{build}的默认指向位置是
{build}的默认指向位置是

{basedir}/build。compile目标执行完毕后,web应用的war文件将位于

{build}/webapp/
{build}/webapp/

{path}.war

  • webapp:该目录包含后续将进行编译和验证的展开的web应用。默认为myapp
  • path:应用已部署的上下文路径,默认为/myapp
  • url:tomcat中管理器应用的绝对地址,用于部署和结束部署应用。默认部署器会尝试访问运行在localhost上的Tomcat实例,其URL为:http://localhost:8080/manager/text
  • username:Tomcat Manager的用户名(需要有读写manager-script的权限)
  • password:Tomcat Manager的密码
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019.05.17 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 简介
  • 2.安装
  • 3.上下文
  • 4. 在启动Tomcat时部署
  • 5.在运行中的Tomcat服务器上进行动态应用部署
  • 6.使用Tomcat Manager进行部署
  • 7.使用客户端部署器进行部署
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档