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