# 通过单个服务器安装运行 Tomcat 的多个实例

> 原文： [https://howtodoinjava.com/tomcat/running-multiple-instances-of-tomcat-with-single-server-installation/](https://howtodoinjava.com/tomcat/running-multiple-instances-of-tomcat-with-single-server-installation/)

很多时候，我们遇到需要修改服务器配置以使其特定于应用的情况。 而且，如果我们有多个这样的应用，并且希望每个应用都具有自己定义的配置选项，那么它就需要某种配置。 在本教程中，我将讨论为每个应用使用**不同的 tomcat 实例而应进行的更改**。

## 配置 Tomcat 服务器的多个实例的步骤

我正在使用 Windows 机器，您将使用 Windows 格式的路径。 但是创建所有实例的**过程在所有其他操作系统**中都是相同的。 另外，我假设您要创建 2 个新的 tomcat 实例。 现在开始阅读完成目标的完整步骤。

## 步骤 1）安装 Tomcat 服务器

这是非常明显的第一步。 假设我们的 tomcat 安装目录为“`C:/tomcatServer`”。

## 步骤 2）在不同位置创建 2 个新的不同文件夹

这些文件夹用于存储实例特定的配置和其他数据，例如日志，临时数据。

假设新文件夹为“`C:/tomcatInstanceOne`”和“`C:/tomcatInstanceTwo`”。

## 步骤 3）将“`conf`”文件夹从服务器文件夹复制到实例文件夹

为了使每个实例具有不同的配置，必须执行此步骤。 任何与实例特定的配置相关的更改应仅在相关实例文件夹中进行。

## 步骤 4）创建实例特定的`startup.bat`和`shutdown.bat`

启动和关闭特定实例将需要这些文件。 文件内容如下：

#### `startup.bat`

```java

set CATALINA_HOME=C:\tomcatServer
set CATALINA_BASE=C:\tomcatInstanceOne
C:\tomcatServer\bin\startup.bat

```

#### `shutdown.bat`

```java

set CATALINA_HOME=C:\tomcatServer
set CATALINA_BASE=C:\tomcatInstanceOne
C:\tomcatServer\bin\shutdown.bat

```

将两个文件都放在两个实例特定文件夹内的“`bin`”文件夹中。 例如，创建文件夹`C:/tomcatInstanceOne/bin`并复制两个文件。

第一个属性（`CATALINA_HOME`）指向所有正在运行的实例之间可共享的公共信息的位置，而其他属性（`CATALINA_BASE`）指向所有实例特定信息的存储目录。

## 步骤 5）创建`setenv.bat`以设置实例特定的环境配置

在“`C:\tomcatInstanceOne\bin`”（以及第二个实例文件夹）目录中创建一个名为`setenv.bat`的文件，以设置`C:\tomcatServer\bin\catalina.bat`中提到的任何环境变量。 在这里设置系统属性，JPDA 地址等。

## 步骤 6）为日志，临时文件等创建更多文件夹

现在是时候创建更多文件夹了，这些文件夹将在您的应用实际运行时使用。 这些文件夹类似于日志，临时文件，Web 应用和工作文件夹。 在两个实例文件夹中分别创建它们。

只需确保编辑`conf\server.xml`文件，以使关闭端口和 HTTP 连接器端口不会干扰其他可能正在运行的 tomcat 实例。

例如，更改 tomcat 将要运行/调试的端口。

```java
First server.xml file

<connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
<server port="8005" shutdown="SHUTDOWN"/>
<connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
<connector port="8100" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />

Second server.xml file

<connector port="8081" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
<server port="8006" shutdown="SHUTDOWN"/>
<connector port="8010" protocol="AJP/1.3" redirectPort="8443" />
<connector port="8101" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />

```

完成上述更改后，您应该能够在计算机中启动同一 tomcat 服务器的多个实例。 如果您被打中，请告诉我。

**祝您学习愉快！**