软件应用部署拓扑结构:部署形式概览

关于tomcat部署应用虽然不是一个经常的操作,因为一旦选择了一种部署方式,我们其他的应用就会不经大脑的使用这种既定模式,

如果不使用这种部署方式,但是对于其他的部署方式不是很清楚的话,很容易抓瞎,所以写这篇文章记录。

第一种  : 直接将web应用丢在tomcat的webapp目录中  

第二种  : 通过修改tomcat的server.xml文件,添加配置片段来配置项目  

第三种  : 通过添加自定义的项目配置文件(xxxx.xml)

第一种 : 直接将web应用丢在tomcat的webapp目录中

这种方式最简单,一般情况我们的web应用开发都是在其他目录中进行的,如果想让他部署运行,直接将web应用复制在tomcat的webapp目录中,

然后启动tamcat就行了。这种方式最简单,最粗暴,但是需要手动复制web应用,所以在正式项目中,我们不使用这种方式。



第二种 :通过修改tomcat的server.xml文件,添加配置片段来配置项目  

这种方式也就是我们现在正在使用的方式 ,使用这用方式我们应该在eclipse中将,tomcat的模式切换为server.xml模式  

软件应用部署拓扑架构 软件部署形式_软件应用部署拓扑架构

 同时设置server.xml文件的目录位置。

 然后找到在server.xml文件中配置如下代码片段:



登录后复制


1 <!--GX-S ccstudy  GX-S-->
2       <Host appBase="webapps" autoDeploy="false" name="localhost" unpackWARs="false" xmlNamespaceAware="false" xmlValidation="false">
          <Context path="" docBase="D:\workspace\ccstudy\web" />
4         <Alias>www.ccstudy.dev</Alias>
5      </Host>
6      <Host appBase="webapps" autoDeploy="false" name="file.ccstudy.dev" unpackWARs="false" xmlNamespaceAware="false" xmlValidation="false">
7             <Context docBase="\\192.168.20.2\store\ccstudy" path=""/>
8      </Host>
9 <!--GX-E ccstudy  GX-E-->



然后在这里去启动tomcat

软件应用部署拓扑架构 软件部署形式_java_02

,在这里我们可以看到,我们通过server.xml文件方式配置的项目,我们可以选择要启动的项目,

而这时,通过server.xml文件这种方式配置项目的一大缺点就显示出来了,就是每次我们启动tomcat,只能选择一个项目来启动。

我们选择了启动哪个项目,在启动tomcat时就会把其他项目的配置代码片段注释掉。

这种方式觉得还是适合于每次只启动一个项目,不适合启动多个项目。

第三种方式  : 通过添加自定义的项目配置文件(xxxx.xml)

   这个方式,也是我在上一家公司所使用的项目启动方式。

   使用这种方式我们首先应该在eclipse中将tomcat的模式切换为Content files模式:

   

软件应用部署拓扑架构 软件部署形式_软件应用部署拓扑架构_03

   然后设置我们项目配置文件的目录为 tomcat主目录下的conf/Catalina/localhost目录。

   然后在conf/Catalina/localhost目录中增加增加项目的配置文件 一般为项目名.xml文件

   文件内配置如下:

 

登录后复制


1   <Context path="/CKplayerDemo" docBase="D:\workspace\CKplayerDemo\Web" />

 

   接着,我们应该在eclipse中的server的view中新建一个tomcat实例(如果以前没有),然后双击新建的tomcat实例,进行如下配置:

   

软件应用部署拓扑架构 软件部署形式_软件应用部署拓扑架构_04

    主要是设置tomcat installation的server path和deploy path,至于是否勾选server options中的那两项,以及是否启用热部署插件JRebel,稍后再说。

    配置完这些之后 ,我们就可以右键启动这个tomcat实例了。

    上面是我们手动新建了配置文件放在了catalina/localhost目录下。我们还可以不用手动新建配置文件,直接部署应用。

    我们可以右键项目,选择run as的run on server选项,然后选择我们刚刚新建的tomcat实例。

   

软件应用部署拓扑架构 软件部署形式_开发工具_05


   然后将要部署的项目添加到右边,点击完成。

   由于我们设置了tomcat的项目部署路径为webapps下,我们启动tomcat时,tomcat会将部署的项目拷贝到webapps下面,

   由于我们勾选了 publish module contexts to separate files选项,启动tomcat时会在catalina/localhost目录下新建一份配置文件。

   由于这个项目是我们手动部署的,我们可以在tomcat实例下面看到该项目,而通过手动新建配置文件的方式我们看不到部署的项目。

   

软件应用部署拓扑架构 软件部署形式_软件应用部署拓扑架构_06

    启动tomcat实例,就可以访问部署好的项目了。

    所以总结一下第三种方式:

    切换tomcat的模式为Content files模式,新建tomcat实例,并对tomcat的实例进行配置,

    然后我们有两种选择:手动添加配置文件在catalina/localhost目录中,直接在项目上run on server上部署。

    手动添加配置文件的方式不能再tomcat实例下面看到部署的应用,不直观,但是无需tomcat进行web应用的复制。

    直接在项目上run on server上部署可以在tomcat实例下面看到部署的应用,当时tomcat需要将web应用复制到webapps下面,浪费性能。

 

   测试tomcat启动方式的时候,在切换第二种和第三种方式的时候出现了问题:

   当我们后server.xml方式切换到context files方式后,启动tomcat时,仍然会去读server.xml中的项目配置代码,但是我们明确指明使用context files方式,也就是

<Context path="" docBase="D:\workspace\ccstudy\web" />

   当我们由context files方式切换为server.xml方式时,再启动激活的项目,发现怎么也没有加载这个项目。我们需要手动将删除掉的那行配置代码给加回去才行。


整理的一些关于【 软件】的项目学习资料(附讲解~~),需要自取:

https://d.51cto.com/f2PFnN

本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。


免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删

QR Code
微信扫一扫,欢迎咨询~

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 155-2731-8020
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

手机不正确

公司不为空