背景:今天遇到一个需求,需要在Windows上部署两个项目,并配置不同端口运行。
一、准备工作:
下载Tomcat压缩包(https://tomcat.apache.org/download-80.cgi)
二、配置Tomcat
1.创建根文件夹:/Tomcat
将tomcat解压至根文件夹中,需要部署几个tomcat就往里边解压几次,每次的解压文件可以按照需求重新命名,以便区分每个tomcat服务将要用来做什么。如:解压后的文件名以你要给这个tomcat设置的端口号结尾。
第一个tomcat没有以端口结尾是把它当做了默认tomcat服务,命名规则看个人所需了。
2.配置Tomcat的环境变量
每个tomcat需要配置两个环境变量:CATALINA_HOME和CATALINA_BASE,二者的值皆为tomca所在路径(包含到其本身文件夹名字),需要部署几个tomcat就创建几个环境变量。如果只部署一个tomcat,配置系统变量将是非必须,且不配置时,要启动tomcat并让项目跑起来需要去/bin目录下双击startup.bat文件。
2.1 由于将第一个tomcat作为默认的tomcat服务,所以其环境变量名称也用默认的名字:CATALINA_HOME和CATALINA_BASE,变量值为安装路径(包含到其本身文件夹名字)。
2.2 第二个tomcat的环境变量参照文件夹的命名规则,在默认环境变量名后拼上端口号,如下:
3.修改/conf目录下的server.xml文件
将server.xml中的端口号改成当前没有用到的端口号,一共需要修改两处。
3.1 由于将第一个tomcat作为默认的tomcat服务,所以保持默认配置。
看看里边长什么样,红框圈的是默认的两个端口号,也是其他tomcat需要修改的地方。
3.2 将第二个tomcat的server.xml文件中的两处端口号改掉,注意:不要让这两处的端口号一样!也不要和其他tomcat配置的端口号一样!
4.修改/bin目录下相关的批处理文件(.bat文件)
将bat文件中的“CATALINA_HOME”和“CATALINA_BASE”字符改成第3步中配置的环境变量的名字。截图中红框圈起来的文件都改(无视掉蓝色框那个bat文件,那是我自己写的自检重启脚本)。
4.1 由于将第一个tomcat作为默认的tomcat服务,所以保持默认配置,再次看看里边长啥样,如catalina.bat文件:
搜索一下“CATALINA_HOME”,还挺多,36处,一会全得改,其他批处理文件省略不看,操作一样。
4.2 将第二个tomcat的相关bat文件中的“CATALINA_HOME”和“CATALINA_BASE”字符串全都改成对应的环境变量名,可以使用notepad++打开bat文件,搜索关键词并一键替换。
依然以catalina.bat文件为例,可以看到CATALINA_HOME都改成了CATALINA_HOME_8085,CATALINA_BASE都改成了CATALINA_BASE_8085,其他批处理文件作同样操作。
本文中只部署了两个tomcat服务,如果需要部署多个tomcat,重复上面的操作就行。
5.发布并启动所有的API服务。
全部修改好确认无误后:
5.1 将项目打成war包;
5.2 将war包丢到需要部署的对应tomcat的/webapps文件夹下;
5.3 去/bin目录下双击startup.bat,让项目跑起来。
最后
每个tomcat都执行一遍上述操作,最终达到windows下部署多个tomcat并以不同端口运行API服务。