zoukankan      html  css  js  c++  java
  • (原创)项目部署-Tomcat设置默认访问项目及项目重复加载问题处理

    主要是通过配置<Tomcat安装目录>/conf/server.xml文件

    步骤: 
    1、打开server.xml,在</Host>的上一行添加内容格式如下 
    <Context path="" reloadable="true" docBase="<项目名>"/> 
    如: 

    <Host name="www.abc.com" appBase="webapps" 
    unpackWARs="true" autoDeploy="true" 
    xmlValidation="false" xmlNamespaceAware="false"> 

    <!-- SingleSignOn valve, share authentication between web applications 
    Documentation at: /docs/config/valve.html --> 
    <!-- 
    <Valve className="org.apache.catalina.authenticator.SingleSignOn" /> 
    --> 

    <!-- Access log processes all example. 
    Documentation at: /docs/config/valve.html --> 
    <!-- 
    <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" 
    prefix="localhost_access_log." suffix=".txt" pattern="common" resolveHosts="false"/> 
    --> 
    <Alias>www.123.org</Alias> 
    <Alias>www.abc.com</Alias> 
    <Context docBase="virgocloud" path="" reloadable="true"></Context> 
    </Host> 
    </Engine>

    另:如果想要只输入IP或域名就可以访问的话,那就把Tomcat的端口设置为80(但需确认此端口有没有其它程序占用),修改如下:

    <Connector port="80"  maxHttpHeaderSize="8192" 
        maxThreads="150" minSpareThreads="25" maxSpareThreads="75" 
        enableLookups="false" redirectPort="8443" acceptCount="100" 
        connectionTimeout="20000" disableUploadTimeout="true" />

    注:通过上面的设置有一个问题就是项目会重复加载两次.

    原因分析 
    1.当为 Host 容器 设置了 appBase 属性时, Tomcat 会在启动时自动加载 appBase 指定目录下的所有合法工程;
    2. 由于同时又通过 Context 的docBase 属性设置了Tomcat 默认工程, 所以,指定的 jkcm,virgocloud工程又会被加载一次 
    基于以上两点,造成了 jkcms,virgocloud工程的重复加载。

    解决办法 
    1. 新建一个目录专门用于存放工程, 如:C:virgocloudsoftwareapache-tomcat-7.0.57deployproject

    2. 将工程存放到以上目录下:即:C:virgocloudsoftwareapache-tomcat-7.0.57deployproject

    3. 在 Context 容器中设置 docBase 属性, 如: 
    <Context path="" docBase="C:virgocloudsoftwareapache-tomcat-7.0.57deployprojectjkcms" />

    <Host name="www.abc.com" appBase="webapps" unpackWARs="true" autoDeploy="true"xmlValidation="false" xmlNamespaceAware="false"> 
    <!-- SingleSignOn valve, share authentication between web applications 
    Documentation at: /docs/config/valve.html --> 
    <!-- 
    <Valve className="org.apache.catalina.authenticator.SingleSignOn" /> 
    --> 
    <!-- Access log processes all example. 
    Documentation at: /docs/config/valve.html --> 
    <!-- 
    <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" 
    prefix="localhost_access_log." suffix=".txt" pattern="common" resolveHosts="false"/> 

    --> 
    <Alias>www.123.org</Alias> 
    <Alias>www.abc.com</Alias> 
    <Context docBase="C:virgocloudsoftwareapache-tomcat-7.0.57deployprojectvirgocloud" path=""reloadable="false"></Context> 
    </Host> 
    <Host name="cms.abc.com" appBase="webapps" unpackWARs="true" autoDeploy="true"xmlValidation="false" xmlNamespaceAware="false"> 
    <!-- SingleSignOn valve, share authentication between web applications 
    Documentation at: /docs/config/valve.html --> 
    <!-- 
    <Valve className="org.apache.catalina.authenticator.SingleSignOn" /> 
    --> 
    <!-- Access log processes all example. 
    Documentation at: /docs/config/valve.html --> 
    <!-- 
    <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" 
    prefix="localhost_access_log." suffix=".txt" pattern="common" resolveHosts="false"/> 
    --> 
    <Context docBase="C:virgocloudsoftwareapache-tomcat-7.0.57deployprojectjkcms" path=""reloadable="false"></Context> 
    </Host>

    至此问题解决,重启Tomcat服务器就可以通过不加项目名访问此项目. 
    注意:记得把webapps目录下的原项目删除

    转载:请注明www.virgocloud.com或www.xujin.org

  • 相关阅读:
    win7网络共享原来如此简单,WiFi共享精灵开启半天都弱爆了!
    JQUERY UI Datepicker Demo
    Official online document, install svn server in centOS
    JAVE not work in linux
    AMR 转mp3 失败
    XD, XR, DR 股票
    Linux 下MySql 重置密码
    Difinition Of Done
    Apache, Tomcat, JK Configuration Example
    Linux 安装tomcat
  • 原文地址:https://www.cnblogs.com/ACMer/p/4265719.html
Copyright © 2011-2022 走看看