一尘不染

Tomcat同时运行多个实例

tomcat

我正在尝试运行Tomcat的多个实例,但是即使在配置了用于侦听和关闭第二个实例的不同端口之后,它仍然尝试在8080(配置为8081)上进行侦听。我读到我必须为设置一个不同的值CATALINA_BASE。在所有在线文章中,没有一篇实际显示可以在哪个文件中设置此变量。

我在哪里以及如何为我的Tomcat实例设置CATALINA_BASE C:\apache-tomcat-7.0.39


阅读 380

收藏
2020-06-16

共1个答案

一尘不染

我运行Tomcat的两个副本的最简单方法涉及以下步骤(我试图运行两个不同版本的tomcat版本6和7):

  • 在不同的文件夹中建立2个tomcat副本(如果它们是不同的版本,这很容易,如果它们是相同的版本,则需要用其他方式加以区分。Tomcat创建了许多文件来管理它,因此运行具有相同工作目录的两个实例是不可能的)

  • 更改tomcat正在监听的以下端口 server.xml

    • <Connector port="8080"> <-这是tomcat用于响应HTTP请求的端口
    • <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" /> <-这定义了两个端口,一个用于AJP连接器(如果您在Apache或IIS服务器后面使用tomcat时使用)和用于HTTPS通信的端口
    • <Server port="8005" shutdown="SHUTDOWN"> <-这是Tomcat用于响应SHUTDOWN事件的端口

最后,如果将其作为Windows服务运行,则需要为每个实例建立不同的服务名称(可以在安装过程中执行此操作,Tomcat
7的默认值为tomcat7)。Tomcat运行后,所有配置字段都使用相对路径,因此您无需触摸CATALINA_BASE

2020-06-16