zoukankan      html  css  js  c++  java
  • tomcat部署web应用的4种方法以及部署多个应用

     原文:

    tomcat部署web应用的4种方法

    在Tomcat中有四种部署Web应用的方式,简要的概括分别是:

    (1)利用Tomcat自动部署

    (2)利用控制台进行部署

    (3)增加自定义的Web部署文件(%Tomcat_Home%confCatalinalocalhostAppName.xml)

    (4)手动修改%Tomcat_Home%confserver.xml文件来部署web应用

    第一种方式:利用Tomcat自动部署

    利用Tomcat自动部署方式是最简单的、最常用的方式。若一个web应用结构为D:workspaceWebAppAppNameWEB-INF*,只要将一个Web应用的WebContent级的AppName直接扔进%Tomcat_Home%webapps文件夹下,系统会把该web应用直接部署到Tomcat中。所以这里不再赘述。

    第二种方式:利用控制台进行部署

    若一个web应用结构为D:workspaceWebAppAppNameWEB-INF*,利用控制台进行部署的方式如下:进入tomcat的manager控制台的deploy区域——在Context path中键入"XXX"(可任意取名)——在WAR or Directory URL:键入D:workspaceWebAppAppName (表示去寻找此路径下的web应用)——点击deploy按钮。

    然后在%Tomcat_Home%webapps路径下将会自动出现一个名为XXX的文件夹,其内容即是D:workspaceWebAppAppName的内容,只是名字是XXX而已(这就是前面在Context path键入XXX的结果)。

    以上说明利用控制台进行部署的实质仍然是利用Tomcat的自动部署。

    第三种方式:增加自定义的Web部署文件

    若一个web应用结构为D:workspaceWebAppAppNameWEB-INF*,这种部署方式稍微复杂一点,我们需要在%Tomcat_Home%conf路径下新建一个文件夹catalina——再在其中新建一个localhost文件夹——最后再新建一个XML文件,即增加两层目录并新增XML文件:%Tomcat_Home%confCatalinalocalhostweb应用配置文件.xml ,该文件就是部署Web应用的配置文件。例如,我们新建一个%Tomcat_Home%confCatalinalocalhostXXX.xml, 该文件的内容如下:

    1. <Context path="/XXX" reloadable="true" docBase="D:workspaceWebAppAppName" workDir="D:workspaceWebAppwork"/>

    注意:

    (1)以上代码中的workDir表示将该Web应用部署后置于的工作目录(Web应用中JSP编译成的Servlet都可在其中找到),如果使用的Eclipse作为IDE,一般可人为设置在WebApp的work目录下。

    如果自定义web部署文件XXX.xml中未指明workdir,则web应用将默认部署在%Tomcat_Home%workCatalinalocalhost路径下新建的以XXX命名的文件夹下。(Web应用中JSP编译成的Servlet都可在其中找到)

    (2)Context path即指定web应用的虚拟路径名。docBase指定要部署的Web应用的源路径。

    其实开发者可以使用安装有Tomcat插件eclipse自动创建部署文件来部署Web应用而不必再手动建立该文件,方法如下:

    1. 打开Eclipse——打开菜单栏window选择preference(首选项)——左侧选择Tomcat,如下图示:

    2. 可以看到上图中高亮画出的Context declaration mode(Context 声明模式)中选择以Context files增加自定义部署文件的形式部署web应用——然后Contexts directory中指定上述文件的上级目录(即%Tomcat_Home%confCatalinalocalhost )——点击Apply或OK。

    3. 完上述步骤,再选中Web项目右键点击properties(属性)——选择右侧的Tomcat ,如下图所示:

    4. 勾上"Is a Tomcat project"前的checkbox,将项目关联至Tomcat。

    在Context name中填入XXX,即Web应用自定义部署文件名和Context path名。

    在Subdirectory to set as web application root (optional)中填入要部署的Web应用的实际路径(即WEB-INF上级目录)。

    注意:Eclipse会自动地将workdir设置在WorkspaceWebAppwork下。

    如此便自动创建了%Tomcat_Home%confCatalinalocalhostXXX.xml 文件。启动Tomcat 即可自动部署Web应用。

    第四种方式:手动修改%Tomcat_Home%confserver.xml文件来部署web应用

    此方法即打开%Tomcat_Home%confserver.xml文件并在其中增加以下元素:

    1. <Context docBase="D:workspaceWebAppAppName" path="/XXX" debug="0" reloadable="false" />

    然后启动Tomcat即可。

    当然如果使用Eclipse,在Eclipse中的设置也有改变:打开菜单栏window选择preference(首选项)——左侧选择Tomcat——可以看到上图中高亮画出的Context declaration mode(Context 声明模式)中选择以Server.xml文件来部署web应用。



    部署多个web应用

    先说一下在本地电脑怎么实现:

    想要在一个tomcat下访问两个web项目时,可以通过添加虚拟host的方式来解决。

    详细步骤如下:

    1、将两个项目打包放入tomcat的webapps目录下;

    2、修改tomcat的server.xml文件,原来的代码如下:

    <Host name="localhost" appBase="webapps"
    unpackWARs="true" autoDeploy="true"
    xmlValidation="false" xmlNamespaceAware="false">

    </Host>

    添加代码后如下:

    <Host name="localhost" appBase="webapps"
    unpackWARs="true" autoDeploy="true"
    xmlValidation="false" xmlNamespaceAware="false">
    <Context path="ROOT" docBase="/ROOT"/>
    </Host>
    <Host name="myspring.com" appBase="webapps"
    unpackWARs="true" autoDeploy="true"
    xmlValidation="false" xmlNamespaceAware="false">
    <Context path="" docBase="/SpringMvcArchitect2"/>
    </Host>

    需注意两点:a、原来的host需要加上context标签,并且path由原来的空变为项目名,因为两个host的path不能同时为空,不然会访问出错,原来的项目名默认为ROOT。

    b、添加新的host,将docBase里的路径设置为第二个web项目的路径,这里为/SpringMvcArchitect2,name为虚拟域名,自定义的。


    3、修改机器的host文件(区别于上面的Host标签,是系统host文件),添加一个ip映射,例如添加的host的name为myspring.com,则往系统host文件中添加127.0.0.1 myspring.com


    4、重启tomcat,就可以使用localhost:8080和myspring.com:8080访问两个web项目了,这里端口设置为8080,可以自己更改。


    5、同理可以扩展为多个web项目,只需配置多个host即可

    附:部分项目如jfinal框架默认的项目在ROOT下,所以war包不能都放webapps文件夹下,这样需另外存放路径如E: est

    1、 server.xml配置文件如下

    <Host name="localhost" appBase="webapps"
    unpackWARs="true" autoDeploy="true"
    xmlValidation="false" xmlNamespaceAware="false">
    <Context path="ROOT" docBase="C: omcatwebappsROOT"/>
    </Host>
    <Host name="test.xiuyuewang.com" appBase="E: est"
    unpackWARs="true" autoDeploy="true">
    <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
    prefix="localhost_access_log." suffix=".txt"
    pattern="%h %l %u %t &quot;%r&quot; %s %b" />
    <Context path="" docBase="E: estROOT" reloadable="false" crossContext="true"/>
    </Host>

    2、 系统host配置文件

    添加 127.0.0.1 新域名

    3、重启tomcat。


  • 相关阅读:
    开篇有益-解析微软微服务架构eShopOnContainers(一)
    复杂而艰辛的重构之路--起步
    Visual Studio 我的插件
    【翻译】使用Visual Studio创建Asp.Net Core MVC (一)
    【翻译】使用Visual Studio在Azure上部署Asp.Net Core Web应用
    【翻译】在Visual Studio中使用Asp.Net Core MVC创建第一个Web Api应用(二)
    【翻译】在Visual Studio中使用Asp.Net Core MVC创建你的第一个Web API应用(一)
    【翻译】在Mac上使用VSCode创建你的第一个Asp.Net Core应用
    【翻译】Asp.net Core介绍
    新的一年订个小目标,比如每周更新1-2篇博文
  • 原文地址:https://www.cnblogs.com/jpfss/p/9208275.html
Copyright © 2011-2022 走看看