一台电脑启动多个tomcat服务

本文介绍在同一台机器上配置多个Tomcat服务的方法,包括设置环境变量、修改配置文件等步骤,确保各Tomcat服务独立运行且端口不冲突。

原文 http://dong-shuai22-126-com.iteye.com/blog/1763666


如果现在一台机器上已经部署了一个tomcat服务,无论这个tomcat是否已经注册为服务了,或者没有注册windows服务,或者注册了,都没关系。都可以采用下面的方法实现。

如果该tomcat已经注册为windows服务了,从window的环境变量中找不到 
CATALINA_HOME和CATALINA_BASE,也可以采用下面的方式实现。 

当第一个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成功! 
### 一台电脑安装多个 Tomcat 的方法和注意事项 在一台电脑上安装多个 Tomcat 是可行的,但需要进行一些配置以避免冲突。以下是实现这一目标的方法和需要注意的事项。 #### 方法一:修改端口号 每个 Tomcat 实例都需要使用不同的端口来避免冲突。可以通过编辑 `conf/server.xml` 文件中的以下部分来修改端口号[^1]: ```xml <Server port="8005" shutdown="SHUTDOWN"> <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" /> ``` 上述代码中,`8005` 是关闭端口,`8080` 是 HTTP 端口,`8009` 是 AJP 端口。对于第二个 Tomcat 实例,可以将这些端口分别改为 `8006`、`8081` 和 `8010` 等。 #### 方法二:独立的环境变量配置 为了避免多个 Tomcat 实例之间的环境变量冲突,可以不设置全局的 `CATALINA_HOME` 和 `PATH` 中的 Tomcat 路径[^1]。每个 Tomcat 实例可以直接通过其 `bin/startup.bat` 或 `bin/startup.sh` 启动,而无需依赖环境变量。 #### 方法三:使用 Docker 部署 在 Docker 容器中运行多个 Tomcat 实例是一种更现代化的方式。通过 Docker,每个 Tomcat 实例都运行在一个独立的容器中,从而避免了端口冲突和其他配置问题[^2]。例如,创建两个 Tomcat 容器时可以使用以下命令: ```bash docker run -di --name=tomcat8081 -p 8081:8080 tomcat:9.0.52 docker run -di --name=tomcat8082 -p 8082:8080 tomcat:9.0.52 ``` 上述命令将第一个 Tomcat 实例映射到宿主机的 `8081` 端口,第二个实例映射到 `8082` 端口。 #### 注意事项 1. **JDK 版本兼容性**:确保每个 Tomcat 实例使用的 JDK 版本与其兼容。例如,Tomcat 9 需要 JDK 8 或更高版本[^3]。 2. **日志文件分离**:为每个 Tomcat 实例指定独立的日志目录,以避免日志文件冲突。 3. **用户权限**:在 Linux 系统中,建议为每个 Tomcat 实例使用不同的用户账户运行,以增强安全性[^4]。 4. **环境变量隔离**:如果选择不使用 Docker,则应避免在全局环境中配置与 Tomcat 相关的路径,以免引起混淆。 ```bash # 示例:启动 Tomcat 实例 cd /path/to/tomcat1/bin ./startup.sh cd /path/to/tomcat2/bin ./startup.sh ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值