我可以在同一台机器上运行两个tomcat实例吗?

时间:2011-01-13 08:32:27

标签: java tomcat

我可以在同一台机器上运行两个具有两个不同端口的Tomcat服务器吗?它会造成任何问题吗?当我运行tomcat时,它将在任务管理器中创建javaw.exe文件。

8 个答案:

答案 0 :(得分:59)

除了更改下面其中一个答案中描述的Connector port protocol="HTTP/1.1"之外。

我认为需要更改“Shutdown”的服务器端口

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

以及AJP端口号

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

如果要并行运行多个tomcat实例。

答案 1 :(得分:29)

是的!您可以。您需要将端口更改为另一个实例。

为此,请按照以下步骤操作。

1。)在{Tomcat安装文件夹} \ conf \

中找到server.xml

2.)查找以下类似陈述

<!-- Define a non-SSL HTTP/1.1 Connector on port 8180 -->
    <Connector port="8080" maxHttpHeaderSize="8192"
               maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
               enableLookups="false" redirectPort="8443" acceptCount="100"
               connectionTimeout="20000" disableUploadTimeout="true" />

3.。)关于Tomcat的server.xml文件引用它在端口8080上运行。将Connector port =“8080”端口更改为任何其他端口号。

例如

<Connector port="8181" protocol="HTTP/1.1" 
               connectionTimeout="20000" 
               redirectPort="8443" />

4)编辑并保存server.xml文件。重启Tomcat。完成

答案 2 :(得分:13)

是的,这绝对没问题。我已经在很多场合做过了。您需要检查所有您用于Tomcat的端口。我不记得它是否仍然有一个特殊的“本地控制”端口,但如果是这样,那些也需要不同。

答案 3 :(得分:7)

一般来说,我们还设置了CATALINA_HOME属性。所以启动脚本首先读取catalina_home,然后从中找出其余的路径。如果设置了此环境变量,并且您尝试从任何复制粘贴tomcat安装位置运行tomcat,那么将运行CATALINA_HOME指向的tomcat。

因此,在从同一台机器运行两个tomcat时,请删除CATALINA_HOME属性。这样,它将根据您运行启动脚本的目录设置CATALINA_HOME属性。

答案 4 :(得分:6)

添加一些指向如何实现这一目标的详细说明:

  1. Step by step在一台服务器上运行多个Tomcat实例。
  2. 上述older version
  3. Explanation各种环境变量&amp;在此类设置中发挥作用的文件夹。

答案 5 :(得分:3)

这是我在Windows上运行两个Tomcats(Tom1和Tom2)的经验/过程:

  1. 根据http://www.ntu.edu.sg/home/ehchua/programming/howto/Tomcat_HowTo.html

  2. 设置Tomcat
  3. 但是,Tom1启动正常,但不是Tom2。

  4. 因此,除了上述内容之外,在server.xml中,进行/更改以下内容(在Tomcat 6.0.44,JDK 1.6.0_45上):

    第22行:Tom1关闭端口= 9001
    第22行:Tom2关闭端口= 9002

    第53行:Tom1服务名称=“Catalina1”
    第53行:Tom2服务名称=“Catalina2”

    第69行:Tom1连接器(http)= 9001
    第69行:Tom2连接器(http)= 9002

    第71行:Tom1重定向端口= 8443
    第71行:Tom2重定向端口= 8444

    第90行:Tom1连接器(ajp)= 8009
    第90行:Tom1重定向= 8443
    第90行:Tom2连接器(ajp)= 8010
    第90行:Tom2重定向= 8444

    第102行:Tom1引擎名称=“Catalina1”
    第102行:Tom2引擎名称=“Catalina2”

  5. 启动每台服务器

  6. 瞧!

答案 6 :(得分:1)

您可以在服务器/ PC上运行无限的tomcat实例,当然您需要使用不同的端口定义每个实例。

答案 7 :(得分:1)

如前所述,您可以省略CATALINA_HOME环境变量并使用catalina.sh脚本来管理容器的生命周期,或者您可以定义另一个变量(如CATALINA_HOME1)以指向新的tomcat的安装目录并修改它的catalina。 sh脚本使用CATALINA_HOME1而不是原始的CATALINA_HOME引用。

在任何情况下,您都可以通过省略名为CATALINA_HOME引用的任何环境变量并将其链接到相应的tomcat的catalina.sh脚本来避免这一切。

示例:

cd /usr/sbin
ln -s /usr/local/java/apache-tomcat-6.0.37/bin/catalina.sh catalina1
ln -s /usr/share/java/apache-tomcat-6.0.37/bin/catalina.sh catalina2

然后像这样开始你的tomcats(从任何地方):

catalina1 start
catalina2 start

汤姆