Tomcat7 部署两个项目(设置不同端口)

作者: 顽童大了已没那么笨 | 来源:发表于2016-08-17 18:26 被阅读2552次

    最近有个Web项目,需要部署两个相同(第二个是拷贝第一个的,使用的项目是使用SpringMVC框架)的项目到Tomcat中,尝试了几种方法,给大家总结一个比较靠谱的方法:通过添加一个不同的端口号方式来实现。

    1.修改../tomcat/conf/server.xml,原有代码如下:

    <Service name="Catalina">
    
        <Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>
    
        <Connector port="8009" protocol="AJP/1.3" redirectPort="8443"/>
    
        <Engine defaultHost="localhost" name="Catalina">
    
          <Realm className="org.apache.catalina.realm.LockOutRealm">
            <Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase"/>
          </Realm>
    
          <Host appBase="webapps" autoDeploy="true" name="localhost" unpackWARs="true">
            <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" pattern="%h %l %u %t "%r" %s %b" prefix="localhost_access_log." suffix=".txt"/>
          </Host>
    
        </Engine>
      </Service>
    
    

    2.添加新端口号,代码如下:注意修改Service name; Connector port; Engine name; Host appBase

    <Service name="Catalina1">
    
        <Connector connectionTimeout="20000" port="8090" protocol="HTTP/1.1" redirectPort="8443"/>
    
        <Connector port="8009" protocol="AJP/1.3" redirectPort="8443"/>
    
        <Engine defaultHost="localhost" name="Catalina1">
    
          <Realm className="org.apache.catalina.realm.LockOutRealm">
            <Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase"/>
          </Realm>
    
          <Host appBase="webapps1" autoDeploy="true" name="localhost" unpackWARs="true">
            <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" pattern="%h %l %u %t "%r" %s %b" prefix="localhost_access_log." suffix=".txt"/>
          </Host>
    
        </Engine>
      </Service>
    
    

    3.创建目录
    a. 创建需要部署的目录../Tomcat/webapps1,并将需要部署的项目拷贝至该目录;
    b. 创建配置文件目录../Tomcat/conf/Catalina1/localhost

    4.修改项目代码
    在我尝试的过程中发现一个比较容易出错的地方,就是最好修改web.xml和log4j.properties配置文件。
    其中web.xml文件,需要添加webAppRootKey,代码如下:

    //上层节点是web-app
    <context-param>
        <param-name>webAppRootKey</param-name>
        <param-value>mos_ms.root</param-value>
      </context-param>
    

    log4j.properties,修改log4j.appender.org.apache.log4j.DailyRollingFileAppender.File的值,代码如下:

    //具体位置自定义,但是需要在${catalina1.home}中
    log4j.appender.A=org.apache.log4j.DailyRollingFileAppender  
    log4j.appender.A.File=${catalina1.home}/logs/GYL_log/PurePro_
    

    5.做好相应的改动,启动tomcat,webapps目录和webapps1目录的应用都会启动,可以根据不同的端口进行访问里面的项目;假设项目名称是MyApp,对于上述改动那么我们就可以使用以下地址访问:http://localhost:8080/MyApp或者http://localhost:8090/MyApp

    相关文章

      网友评论

      本文标题:Tomcat7 部署两个项目(设置不同端口)

      本文链接:https://www.haomeiwen.com/subject/yhgmsttx.html