首页
学习
活动
专区
工具
TVP
发布

windows下,如何同时运行多个tomcat,且对应不同的jdk?

要运行tomcat,必须要先配置java中的jdk变量。现实生活中,因为服务器有限,难免会遇到两个tomcat部署在同一台服务器的情况,甚至还要配置不同的jdk。

已经不是第一次遇到这个问题了,上一次是小伙伴要去新疆出差,临时让我帮忙在出差笔记本上搭建测试环境,因为笔记本很多同事使用过,安装了不同版本的tomcat和jdk,我配置的环境变量与别人已经配过的混淆了,折腾了很久,注册服务不成功。后来干脆把别的环境都清掉了,这才将系统部署起来。

这一次因为测试环境需要tomcat6和jdk1.7,服务器本身已存在的tomcat6以及对应的jdk1.6仍然在使用,我不能简单粗暴的清掉,所以百度了一些方法,整理如下。

注:先说明一下jdk如何配置

直接运行jdk.exe程序,将安装路径保存;然后右击计算机--》属性--》高级系统设置--》环境变量;新增或者修改三处环境变量

JAVA_HOME:jdk的安装路径;

CLASSPATH:./%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar;

PATH:;%JAVA_HOME%\BIN;%JAVA_HOME%\jre\bin

检验jdk可安装成功:在命令行输入java -version,如果能显示正确的版本号,则说明jdk配置成功。

情况一:多个tomcat对应一个jdk

网友说jdk版本向上兼容,也就是说依赖版本较高的那一版jdk即可。

第一个tomcat

直接添加环境变量:CATALINA_HOME,值为第一个tomcat的路径;

这时候直接启动第一个tomcat,默认端口是8080;可在浏览器中输入该服务器IP:8080查看tomcat是否启动成功。

第二个tomcat

增加两个环境变量

CATALINA_HOME2,值为第二个tomcat的地址;

CATALINA_BASE2,值为新的tomcat地址;

修改参数

将bin目录下的.bat文件中的CATALINA_HOME和CATALINA_BASE后面都加上数字2;

将conf目录下的server.xml文件中以下三处涉及到的端口号改动一下,以免与第一个tomcat默认使用的端口冲突。

第一处:

这里主要区别在关闭Tomcat时,关闭的是那一个。

第二处:

maxThreads="150" minSpareThreads="25" maxSpareThreads="75"

enableLookups="false" redirectPort="8443" acceptCount="100"

connectionTimeout="20000" disableUploadTimeout="true" />

这里主要区别多个Tomcat同时运行时,端口不冲突。

第三处:

enableLookups="false" redirectPort="8443" protocol="AJP/1.3" />

启动第二个tomcat,用同样的方法查看有没有启动成功;

情况二:多个tomcat对应多个jdk

假设服务器已经配置好了第一个jdk的环境变量,并运行了与之对应的tomcat程序。

方法一

与上面思路类似,我们来配置第二个jdk的环境变量,以及修改与之对应的第二个tomcat的参数。

第二个jdk环境变量

JAVA_HOME2:第二个jdk的位置;

CATALINA_HOME2:第二个tomcat的位置

CLASSPATH2:./%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar;

修改第二个tomcat参数

将第二个tomcat中bin目录下所有的.bat文件打开,将其中所有的JAVA_HOME、CATALINA_HOME、CLASSPATH后面加上数字2;

在将第二个tomcat中config目录下,server.xml对应的三处端口都修改为与第一个tomcat不同。

分别启动不同的tomcat,可以在catalina.log中看到分别调用了不同的jdk。

方法二

tomcat可以设置需要使用的jdk,直接安装好第二个jdk之后,在tomcat的bin目录下,修改catalina.bat文件,在最上面加上两行条件:

set JAVA_HOME=第二个jdk安装路径;

set JRE_HOME=第二个jdk安装路径下的jre;

在startup.bat文件最后加上pause,启动tomcat之后就会打印相应的信息,包括所用的jdk版本。

目前看,方法二应该是最为简洁便利。也有网友强调同一台服务器,运行不同的tomcat,不应该配置其他的环境变量如CATALINA_HOME等,配置后会锁死Tomcat,导致在重新启动服务时出现问题。所以明天优先尝试方法二,期待顺利。

微信号:从零做软件测试

软件测试技术交流分享

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20171218G0Y17T00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券