一个webapp部署多个项目_idea项目部署到webapp - CSDN
  • 场景:刚接手了同事创建的项目,准备部署到服务器上(此tomcat下已经有了一个项目),部署好之后发现原有项目可以正常访问,但是新项目报404,怎么也访问不了。 问题排查:原来是同事拿之前的项目直接拷贝,然后在...

    场景:刚接手了同事创建的项目,准备部署到服务器上(此tomcat下已经有了一个项目),部署好之后发现原有项目可以正常访问,但是新项目报404,怎么也访问不了。

    问题排查:原来是同事拿之前的项目直接拷贝,然后在拷贝的项目上进行修改的。

    解决方案:
    	<!-- 应用路径 -->
    	<context-param>
    		<param-name>webAppRootKey</param-name>
    		<param-value><span style="color:#ff0000;">webapp.root1</span></param-value>
    	</context-param>
    
    	<!-- 项目根目录Listener -->
    	<listener>
    		<listener-class>org.springframework.web.util.WebAppRootListener</listener-class>
    	</listener>

    注意:

    1、在应用的web.xml文件中,配置不同的webAppRootKey,<param-value>值可以自定义,只要相同tomcat下的各个工程保持不同即可。
    2、项目根目录listener,WebAppRootListener要在ApplicationContext的ContextLoaderListener之前,否则ApplicationContext的bean注入根目录值时会发生无法注入异常。
    3、如果在web.xml中已经配置了 org.springframework.web.util.Log4jConfigListener 这个监听器,则不需要配置WebAppRootListener了。因为Log4jConfigListener已经包含了WebAppRootListener的功能。
    4、根据以上修改以及1-3点注意之后,仍然无法访问404的,可能:(1)项目本身有问题。(2)因为是拷贝的项目,很多配置文件或者文件名、目录都是以前的,没有修改完全,特别是配置文件,logs目录等,仔细检查。(3)本人使用的spring-mvc+mybatis,如果你也是,可能是mybatis/mapper下文件为空,还没有映射但是你配置了。(4)以上无法解决,请查看tomcat下的logs文件中的异常信息,或者联系我,我们共同学习讨论。


    参考资料:
    log4j和web.xml配置webAppRootKey 的问题
    
    1 在web.xml配置 
    
    <context-param>
      <param-name>webAppRootKey</param-name>
      <param-value>web.sample.root</param-value>
    </context-param>
    
    可以用System.getProperty("web.sample.root")来获取属性值。在Eclipse调试Web项目时,项目的路径是一个临时路径,不在真正的路径下,可以通过上述语句打印出属性值,来看看临时项目路径在哪里
    
    如:System.out.println("web.root:"+ System.getProperty("web.root"));
    
        输出:web.root:D:\apache-tomcat-6.0.30\webapps\wangzun\
    
    2、Spring通过 org.springframework.web.util.WebAppRootListener 这个监听器来压入项目路径。但是如果在web.xml中已经配置了 org.springframework.web.util.Log4jConfigListener 这个监听器,则不需要配置WebAppRootListener了。因为Log4jConfigListener已经包含了WebAppRootListener的功能.
    
    配置WebAppRootListener:
    
     <listener>
      <listener-class>org.springframework.web.util.WebAppRootListener</listener-class>
     </listener>
    
    
    3、部署在同一容器中的多个Web项目,要配置不同的<param-value>,不能重复webAppRootKey的系统变量名
    
    4.WebAppRootListener要在ApplicationContext的ContextLoaderListener之前,否则ApplicationContext的bean注入根目录值时会发生无法注入异常。
    
       <!-- 项目根目录Listener -->
     <listener>
      <listener-class>org.springframework.web.util.WebAppRootListener</listener-class>
     </listener>
     <!--Spring的ApplicationContext 载入 -->
     <listener>
      <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
     </listener>
    
    
    4、如果配置了
    log4j.appender.file.File=${web.sample.root}WEB-INF/logs/sample.log  
    
    log4j会自己自动建立logs目录, 不需要手工显式建立空的logs目录
    
    
    在tomcat下部署两个或多个项目时,web.xml文件中最好定义webAppRootKey参数,如果不定义,将会缺省为“webapp.root”,如下:
    
    <!-- 应用路径 --> 
    <context-param> 
    <param-name>webAppRootKey</param-name> 
    <param-value>webapp.root</param-value> 
    </context-param> 
    最好报纸每个项目的参数值不同,以免引起项目冲突
    
    严重: Exception sending context initialized event to listener instance of class org.springframework.web.util.Log4jConfigListener
    java.lang.IllegalStateException: Web app root system property already set to different value: 'webapp.root' = [C:\Program Files (x86)\Apache Software Foundation\Tomcat 6.0\webapps\DRMProject\] instead of [C:\Program Files (x86)\Apache Software Foundation\Tomcat 6.0\webapps\DRMSn\] - Choose unique values for the 'webAppRootKey' context-param in your web.xml files!
    
    对多个项目要对webAppRootKey进行配置,这里主要是让log能将日志写到对应项目根目录下,如我配置这两个项目的webAppRootKey为
    项目1 的 web.xml:
    
    <!-- 应用路径 -->
    <context-param> 
    <param-name>webAppRootKey</param-name> 
    <param-value>webapp.root1</param-value> 
    </context-param>
    
     <!-- 项目根目录Listener -->
     <listener>
      <listener-class>org.springframework.web.util.WebAppRootListener</listener-class>
     </listener>
    
    项目2的 web.xml:
    <!-- 应用路径 -->
    <context-param>
    <param-name>webAppRootKey</param-name>
    <param-value>webapp.root2</param-value>
    </context-param>
    
     <!-- 项目根目录Listener -->
     <listener>
      <listener-class>org.springframework.web.util.WebAppRootListener</listener-class>
     </listener>
    
    这样就不会出现冲突了。
    定义以后,在Web Container启动时将把ROOT的绝对路径写到系统变量里。
    然后log4j的配置文件里就可以用${webName.root }来表示Web目录的绝对路径,把log文件存放于webapp中。
    
    namemax:
    
     <context-param>
      <param-name>webAppRootKey</param-name>
      <param-value>web.root</param-value>
     </context-param>
    
     <!-- 项目根目录Listener -->
     <listener>
      <listener-class>org.springframework.web.util.WebAppRootListener</listener-class>
     </listener>
    
    bean中可以使用:
    
       <bean id="transformChinese" class="com.zunmi.util.TransformChinese"
    
             p:outBasePath="${web.root}WEB-INF/destineDomainFile/"
             p:j2fSource="${web.root}WEB-INF/SimpleToTraditional.properties" 
             p:charSet="gbk"
            />

    参考资料地址:http://www.verydemo.com/demo_c143_i3192.html




    展开全文
  • #项目名称(project1,project2...) upstream tomcat_server1 { server 192.168.33.113:8080; } server { listen 80; server_name www.test1.com; location / { proxy_pass http://tomcat_server1; index /...
  • tomcat部署web应用的4种方法 在Tomcat中有四种部署Web应用的方式,简要的概括分别是: (1)利用Tomcat自动部署 (2)利用控制台进行部署 (3)增加自定义的Web部署文件(%Tomcat_Home%\conf\Catalina\...

     原文:

    tomcat部署web应用的4种方法

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

    (1)利用Tomcat自动部署

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

    (3)增加自定义的Web部署文件(%Tomcat_Home%\conf\Catalina\localhost\AppName.xml)

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

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

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

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

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

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

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

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

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

    1. <Context path="/XXX" reloadable="true" docBase="D:\workspace\WebApp\AppName" workDir="D:\workspace\WebApp\work"/>

    注意:

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

    如果自定义web部署文件XXX.xml中未指明workdir,则web应用将默认部署在%Tomcat_Home%\work\Catalina\localhost\路径下新建的以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%\conf\Catalina\localhost )——点击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设置在Workspace\WebApp\work下。

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

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

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

    1. <Context docBase="D:\workspace\WebApp\AppName" 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:\test

    1、 server.xml配置文件如下

    <Host name="localhost" appBase="webapps"
    unpackWARs="true" autoDeploy="true"
    xmlValidation="false" xmlNamespaceAware="false">
    <Context path="ROOT" docBase="C:\tomcat\webapps\ROOT"/>
    </Host>
    <Host name="test.xiuyuewang.com" appBase="E:\test"
    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:\test\ROOT" reloadable="false" crossContext="true"/>
    </Host>

    2、 系统host配置文件

    添加 127.0.0.1 新域名

    3、重启tomcat。


    展开全文
  • 1,一个tomcat下同时部署个项目多个项目可以参考) 1.1项目都放在webapps内(共用一个端口) 2)处理重复jar包。 3)tomcat端口默认为8080.如果想修改可以去conf下的server.xml中进行修改 4)启动tomcat 2,一台...

    最近需要把两个项目同时部署到服务器上,于是研究了一下,页借鉴了很多别人的方法,把过程记录下来,以儆效尤。

    目录:

    1,一个tomcat下同时部署两个项目(多个项目可以参考)

    1.1项目都放在webapps内(共用一个端口)

    1)把两个项目都放在webapps下。

    2)处理重复jar包。

    3)tomcat端口默认为8080.如果想修改可以去conf下的server.xml中进行修改

    4)启动tomcat

      1.2建立多个类似于webapps的文件夹,通过conf下的server.xml进行配置(每个项目使用不同端口)

    1)在tomcat的webapps同一层目录下新建webapps1文件夹,webapps放入第一个项目,webapps2放入第二个项目。
    2)同1.1第二步:处理重复jar包。
    3)修改server.xml文件,设置端口等信息。

    4)启动tomcat.

    2,一台服务器上同时运行2个tomcat.(多个应该类似)

    2.1.使用压缩版的tomcat不能使用安装版的。  
    2.2.第一个tomcat的配置不变。  
    2.3.增加环境变量CATALINA_HOME2,值为新的tomcat的地址;增加环境变量CATALINA_BASE2,值为新的tomcat的地址。  
    2.4.修改新的tomcat中的startup.bat、shutdown.bat,把其中的CATALINA_HOME改为CATALINA_HOME2。  
    2.5.修改新的tomcat中的catalina.bat,把其中的CATALINA_HOME改为CATALINA_HOME2,CATALINA_BASE改为CATALINA_BASE2。  
    2.6.修改conf/server.xml文件: 

    2.7成功! 

    1,一个tomcat下同时部署两个项目(多个项目可以参考)
    1.1项目都放在webapps内(共用一个端口)
    1)把两个项目都放在webapps下。
    2)处理重复jar包。
    两个项目如果有重复的jar包,一定要进行处理,否则会导致服务器内存耗尽,报类似于http-bio-8080"-exec-1等异常。
    解决方案:建立共享包路径。
    参考文章:https://my.oschina.net/angerbaby/blog/271438
    我采用第一种:
    修改catalina.properties中的common.loader属性。在common.loader属性原值基础上追加

    “${catalina.home}/lib/shared/*.jar”,然后启动tomcat。很显然,

    需要将共享的jar包放到一个

    shared目录里,然后将shared目录放到tomcat下lib目录里。
    建立好共享文件夹之后,把相同的包都放在共享文件夹,每个项目WEB-INF下的lib放各自独有的。

    3)tomcat端口默认为8080.如果想修改可以去conf下的server.xml中进行修改

    <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
    4)启动tomcat   

    1.2建立多个类似于webapps的文件夹,通过conf下的server.xml进行配置(每个项目使用不同端口)
    1)在tomcat的webapps同一层目录下新建webapps1文件夹,webapps放入第一个项目,webapps2放入第二个项目。
    2)同1.1第二步:处理重复jar包。
    3)修改server.xml文件,设置端口等信息。
    a,首先了解下tomcat的几个主要端口:

    <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="60000"

    redirectPort="8443" disableUploadTimeout="false"

    executor="tomcatThreadPool" URIEncoding="UTF-8"/>

    其中8080为HTTP端口,8443为HTTPS端口

    <Server port="8005" shutdown="SHUTDOWN">   

    8005为远程停服务端口

    <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" /> 

    8009为AJP端口,APACHE能过AJP协议访问TOMCAT的8009端口。

    b,修改server.xml.
    主要操作为在server下在增加一个service,这个文件中修改的地方主要是Connector里的端口,也就是咱们方法的http端口,

    注释掉8009AJP端口,修改host下的

    appBase为对应的webapps,过程如下。

    <?xml version='1.0' encoding='utf-8'?>
     
    <Server port="8005" shutdown="SHUTDOWN">
      <Listener className="org.apache.catalina.startup.VersionLoggerListener" />
     
      <Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />
      <!-- Prevent memory leaks due to use of particular java/javax APIs-->
      <Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" />
      <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
      <Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener" />
      
      <GlobalNamingResources>
       
        <Resource name="UserDatabase" auth="Container"
                  type="org.apache.catalina.UserDatabase"
                  description="User database that can be updated and saved"
                  factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
                  pathname="conf/tomcat-users.xml" />
      </GlobalNamingResources>
    	<!-- the first service-->
        <Service name="Catalina">
    
       
        <Connector port="80" protocol="HTTP/1.1"
                   connectionTimeout="20000"
                   redirectPort="8443" />
    <!-- 注释的地方-->
     <!--    
        <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
    
     -->
      
        <Engine name="Catalina" defaultHost="localhost">
    
        
          <Realm className="org.apache.catalina.realm.LockOutRealm">
           
            <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
                   resourceName="UserDatabase"/>
          </Realm>
    
          <Host name="localhost"  appBase="webapps"
                unpackWARs="true" autoDeploy="true">
    
            
            <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
                   prefix="localhost_access_log" suffix=".txt"
                   pattern="%h %l %u %t "%r" %s %b" />
    
          </Host>
        </Engine>
    	
      </Service>
      
      <!-- the second service-->
        
        <Service name="Catalina">
    	<!-- 修改的地方-->
        <Connector port="8081" protocol="HTTP/1.1"
                   connectionTimeout="20000"
                   redirectPort="8443" />
    			    -->
    					<!-- 注释的地方-->
      <!--   
        <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
    
     -->
    
    
    
        <Engine name="Catalina" defaultHost="localhost">
    
         
          <Realm className="org.apache.catalina.realm.LockOutRealm">
           
            <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
                   resourceName="UserDatabase"/>
          </Realm>
    		<!-- 修改的地方 appBase:第二个项目放置的位置-->
          <Host name="localhost"  appBase="webapps1"
                unpackWARs="true" autoDeploy="true">
    
           
            <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
                   prefix="localhost_access_log" suffix=".txt"
                   pattern="%h %l %u %t "%r" %s %b" />
    
          </Host>
        </Engine>
      </Service>
     
    </Server>

    可以看到,第一个service中只需要注释掉8009那部分。如果不注释会发生端口被占用的情况,其他不用改变,

    第二个service为第一个service的副本,

    在其中修改80端口为8081.host的appBase修改为自己对应的位置。

    如果想部署多个项目,再次增加service节点即可。
    4),启动tomcat

    2,一台服务器上同时运行2个tomcat.(多个应该类似)
    如果现在一台机器上已经部署了一个tomcat服务,无论这个tomcat是否已经注册为服务了,或者没有注册windows服务,

    或者注册了,都没关系。都可以采用下面的方法实现。
    如果该tomcat已经注册为windows服务了,从window的环境变量中找不到 
    CATALINA_HOME和CATALINA_BASE,也可以采用下面的方式实现。 

    当第一个tomcat启动后,后面tomcat的server.xml中的端口不管怎么改,仍然会报端口冲突。

    后来在dos下运行才发现所有的tomcat都会去找

    CATALINA_HOME和CATALINA_BASE这两个环境变量,因此步骤如下:  
    2.1.使用压缩版的tomcat不能使用安装版的。  
    2.2.第一个tomcat的配置不变。  
    2.3.增加环境变量CATALINA_HOME2,值为新的tomcat的地址;增加环境变量CATALINA_BASE2,值为新的tomcat的地址。  
    2.4.修改新的tomcat中的startup.bat、shutdown.bat,把其中的CATALINA_HOME改为CATALINA_HOME2。  
    2.5.修改新的tomcat中的catalina.bat,把其中的CATALINA_HOME改为CATALINA_HOME2,CATALINA_BASE改为CATALINA_BASE2。  
    2.6.修改conf/server.xml文件:  

    <Server port="8005" shutdown="SHUTDOWN">把端口改为没有是使用的端口。  
      <Connector port="8080" maxHttpHeaderSize="8192"  
      maxThreads="150" minSpareThreads="25" maxSpareThreads="75"  
      enableLookups="false" redirectPort="8443" acceptCount="100"  
      connectionTimeout="20000" disableUploadTimeout="true" /> 把端口改为没有是使用的端口。  
    	<Connector port="8009"  
      enableLookups="false" redirectPort="8443" protocol="AJP/1.3" /> 把端口改为没有是使用的端口。  
    

         2.7成功! 


    总结:在遇到问题时,首先应分析问题产生的原因,然后整理解决的思路,思路很重要,如何分析呢,看日志,重要的事情说三遍,看日志,看日志,see logs。然后根据相应信息查找问题原因,参考别人的意见时,也要结合自己的实际情况。最主要的是不要怕错,动手去做。你想拥有你从未拥有的东西,就要去做你从未做过的事。加油。


    展开全文
  • 需要分别启动多个webapp

    需要分别启动多个webapp,为每个webapp创建一个对应的server,server的path都配置为Tomcat的安装目录,如下


    每个server添加不同的webapp,分别启动每个server,发现每个server中都会启动所有的webapp,而server自己添加的webapp会启动两次,原来tomcat webapps目录下的app会自动启动,在加上server.xml中配置的一个app,这个app就会启动两次。

    另外还发现以上配置方法,所有的server都是公用tomcat下的conf目录来存放配置文件,每次启动一个server就会替换掉这个目录下的配置文件,也很不安全。

    想到的一种方法是为不同的server创建不同的tomcat runtime environment,不过这样需要复制多个tomcat目录。

    另一个更好的方法是为每个server指定自己的server path,并且部署path也不使用tomcat的默认webapps目录,如下


    需要启动的app则通过server.xml配置,这样每个server就只会启动指定的app。

    展开全文
  • 第一步:Tomcat默认空间webapps,中已经存在一个项目了,此时要增加一个项目运行可以将原本webapps目录copa一份, 改名为webapp1(或者其他看实际情况),然后,将webapp1目录中原来的项目清除,加入你要部署的新项目...
  • 1.如果有在工程中引入 Log4j 工具包,并指定了其监听程序。请在 web.xml 配置参数: &lt;context-param&gt; &lt;param-name&...webApp.root&lt;/param-value&gt;&lt;...
  • 个人觉得简单易操作的两种部署方式: 1.使用tomcat的自动部署。(适用于文件和war包,不需要重启tomcat) 2.自定义web部署文件。(只适用于文件形式的,需要重启tomcat)
  • 今天在整理项目是出了一个问题,就是在MyEclipse项目部署项目到Tocat时,发现webapp下面的项目名称不与项目名称一致! WebProject项目 Tocat下的Webapps下的目录 解决方式:不是直接在Tocat下面修改为...
  • 之前上学的时候,基本不怎么用这种方法,一个web服务器部署多个项目。但是工作了以后就不一样了,可能经常会遇到自己同时搞多个项目的情况。这样放在你面前的解决方案基本有两种,一种是我们安装多个web服务器,然后...
  • http://www.lwqgj.cn/1205.html
  • 第一步:Tomcat默认空间webapps,中已经存在一个项目(myProject)了,此时要增加一个项目运行可以新建一个名为webapp1(或者其他看实际情况)的文件夹,然后加入你要部署的新项目(myProject1)。 第二部:更改conf中的...
  • 我们一个服务器只按装了一个tomcat服务器,现在有多个项目或者多个域名访问,下面来进行配置在这里我们只需要修改conf下的server.xml就好了1.不同端口访问的内容相同下面为其server.xml[html] view plain copy&...
  • 错误描述: ... tomcat发布个项目时抛的webAppRootKey错误,部署到WAS控制台单独一个项目可以运行,两个项目同时运行先启动的可以运行,后启动的项目不会读本项目的web.xml信息。  异常信息: Web a
  • 结果发现命令行一直处在下面这种卡住状态,webapp不能创建成功:这是因为,,我们安装完maven后并没有配置setting.xml,那么maven默认使用的是中央仓库,在中国访问中央仓库显然不明智,...所以我们必须配置一个 镜像.
  • 我们知道开发过程中,我不可能每次都去打war包,然后部署到tomcat的webapp目录下,太麻烦了。 在网上搜不不少文章,有这么种方案,简单说下思路,在pom中增加 &lt;plugin&gt; &lt;groupId&...
  • 大家都知道在Tomcat目录下有ROOT目录,那里是Tomcat默认访问的目录,也就是说你把原来的Root目录删掉,在新建一个再在ROOT中放入一个项目包.不用做任何的处理,只要启动Tomcat该项目就可以启动,但是如果我要部署多个war...
  • SpringMVC容器启动时,WebAppRootListener会将该webapp的项目路径设置到系统全局变量中,以便在可以使用系统全局变量的地方获取到webapp的项目路径,默认该变量名为webapp.root...只需要为每个项目设置不同的名称即可。
  • 前几天遇到一个问题,在Linux上tomcat服务器上部署了三个springboot war包项目,但是启动tomcat的时候只有一个项目启动成功了,另外两个失败,解决办法在每个项目application.yml配置文件里面加上 spring.jmx....
  • Tomcat下部署多个项目

    2017-05-09 14:14:46
    同一端口号的多个项目部署  添加: [html] view plain copy Context path="/route" reloadable="true" docBase="/home/develop/tomcat-7.0.54/flatrass"/> Context path="/route2" reloadable="true...
1 2 3 4 5 ... 20
收藏数 30,550
精华内容 12,220
关键字:

一个webapp部署多个项目