一台机器同时运行两个或多个Tomcat

转载 2014年09月18日 09:54:11

一台机器同时运行两个或多个Tomcat


今天经理交给我一个任务,让我在服务器上再装一个测试用的tomcat,因为我们的系统中有用到调用移动CMPP短信接口给客户发短信的功能,限制了IP,只能在服务器上调试。没辙,以前也想过在自己的机器上同时跑两个tomcat,以为只要改一下端口号就没问题,其实这只是其中的一步而已。

当第一个tomcat启动后,后面tomcat的server.xml中的端口不管怎么改,仍然会报端口冲突。后来在dos下运行才发现所有的tomcat都会去找

CATALINA_HOME和CATALINA_BASE这两个环境变量,因此步骤如下: 
1.使用压缩版的tomcat不能使用安装版的。 
2.第一个tomcat的配置不变。 
3.增加环境变量CATALINA_HOME2,值为新的tomcat的地址;增加环境变量CATALINA_BASE2,值为新的tomcat的地址。 
4.修改新的tomcat中的startup.bat,把其中的CATALINA_HOME改为CATALINA_HOME2。 
5.修改新的tomcat中的catalina.bat,把其中的CATALINA_HOME改为CATALINA_HOME2,CATALINA_BASE改为CATALINA_BASE2。 
6.修改conf/server.xml文件: 
6.1 <Server port="8005" shutdown="SHUTDOWN">把端口改为没有是使用的端口。 
6.2 <Connector port="8080" maxHttpHeaderSize="8192" 
  maxThreads="150" minSpareThreads="25" maxSpareThreads="75" 
  enableLookups="false" redirectPort="8443" acceptCount="100" 
  connectionTimeout="20000" disableUploadTimeout="true" /> 把端口改为没有是使用的端口。 
6.3<Connector port="8009" 
  enableLookups="false" redirectPort="8443" protocol="AJP/1.3" /> 把端口改为没有是使用的端口。 
7成功!

下面是我配置好的server.xml

<?xml version='1.0' encoding='utf-8'?>
<!-- Note:  A "Server" is not itself a "Container", so you may not
     define subcomponents such as "Valves" at this level.
     Documentation at /docs/config/server.html
     8005->8007
 -->
<Server port="8007" shutdown="SHUTDOWN">
  <!-- Security listener. Documentation at /docs/config/listeners.html
  <Listener className="org.apache.catalina.security.SecurityListener" />
  -->
  <!--APR library loader. Documentation at /docs/apr.html -->
  <Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />
  <!--Initialize Jasper prior to webapps are loaded. Documentation at /docs/jasper-howto.html -->
  <Listener className="org.apache.catalina.core.JasperListener" />
  <!-- 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" />

  <!-- Global JNDI resources
       Documentation at /docs/jndi-resources-howto.html
  -->
  <GlobalNamingResources>
    <!-- Editable user database that can also be used by
         UserDatabaseRealm to authenticate users
    -->
    <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>

  <Service name="Catalina">
    <!-- A "Connector" represents an endpoint by which requests are received
         and responses are returned. Documentation at :
         Java HTTP Connector: /docs/config/http.html (blocking & non-blocking)
         Java AJP  Connector: /docs/config/ajp.html
         APR (HTTP/AJP) Connector: /docs/apr.html
         Define a non-SSL HTTP/1.1 Connector on port 8080->8090
    -->
    <Connector port="8090" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />

    <!-- Define an AJP 1.3 Connector on port 8009->8011 -->
    <Connector port="8011" protocol="AJP/1.3" redirectPort="8443" />

    <Engine name="Catalina" defaultHost="localhost">

      <!-- Use the LockOutRealm to prevent attempts to guess user passwords
           via a brute-force attack -->
      <Realm className="org.apache.catalina.realm.LockOutRealm">
        <!-- This Realm uses the UserDatabase configured in the global JNDI
             resources under the key "UserDatabase".  Any edits
             that are performed against this UserDatabase are immediately
             available for use by the Realm.  -->
        <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>
</Server>


相关文章推荐

两个一样的tomcat不能同时启动解决方法

两个一样的tomcat不能同时启动前提:最近在学服务器集群,现在弄的是纵向集群,即一台电脑上有多个服务器,扩大CPU使用率。 问题:我的服务器是Tomcat6.0.20,修改完所有端口之后(shut...
  • newizan
  • newizan
  • 2014年07月06日 16:22
  • 23394

运行多个tomcat实例两法

转自:http://blog.csdn.net/hansoft/article/details/647060 运行多个tomcat实例两法 hanlray@gmail.com Revisio...

一台电脑同时运行多个tomcat配置方法

一台电脑同时运行多个tomcat配置方法: 1.使用压缩版的tomcat不能使用安装版的。  2.第一个tomcat的配置不变。  3.增加环境变量CATALINA_HOME2,...

如何在同一台电脑上同时运行2个tomcat

如何在同一台电脑上同时运行2个tomcat

同时跑两个TOMCAT

前提:JDK及其环境变量设置已完成。 适用于绿色版,即非安装版的TOMCAT。 1、.设置第一个TOMCAT 1.1.设置tomcat的环境变量: 记下TOMCAT解压后的存放地址,我的是E:\a...

电脑同时运行两个Tomcat如何设置说明

本文是解决为了多个Tomcat同时运行。 以下的方法是将我的解决方案叙述出来和大家分享,可以在参照我的方法之前先将需要修改的文件备份,避免出现新的错误之后无法恢复,说的不正确的请大家多多指教,希望能...
  • T_ZZZ
  • T_ZZZ
  • 2017年08月08日 14:55
  • 591

服务器同时运行两个不同版本的Tomcat

当第一个tomcat启动后,后面tomcat的server.xml中的端口不管怎么改,仍然会报端口冲突。后来在dos下运行才发现所有的tomcat都会去找CATALINA_HOME和CATALINA_...
  • fnuwfnh
  • fnuwfnh
  • 2016年06月01日 14:11
  • 1280

Linux配置多个Tomcat同时运行以及tomcat 的端口介绍

步骤如下:       (1)修改/etc/profile文件。添加一组java环境变量(如果已经有了就不用再添加),和两组CATALINA环境变量(我没有进行此步骤的设置,可能因为我的Tomcat...

一台机器同时部署运行多个Tomcat

#######################一台机器同时部署运行多个Tomcat ############################### 注:下文介绍为两个tpmcat 环境:apache-...

如何配置运行多个Tomcat

同时运行多个Tomcat 首先,要配每个Tomcat的三个port口都要不同 在server.xml文件下找到下面个port口 tomcat1: tomcat2...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:一台机器同时运行两个或多个Tomcat
举报原因:
原因补充:

(最多只允许输入30个字)