最近在面试的过程中,一家公司在面试时提到了有关tomcat单机多实例部署的提问, 正好, 之前使用IntelliJ IDEA 13.1.4这款IDE开发web项目,在开发的过程中,因为有多个web项目的部署联调,通过简单的修改端口号配置过多实例启动, 但是一直没有脱离IDE的去好好研究一番,所以正好今天有时间来研究部署了一下tomcat单机多实例的部署。
步骤如下:
1.下载一个免安装版本的```tomcat7```。
2.在tomcat目录创建一个tomcat-ins文件夹,该文件夹作为多实例的根目录。
3.分别针对每个实例创建自己的tomcat目录文件夹(conf/webapps)logs、work、temp在启动web程序的时候,会自动创建,所以无需手动创建了。
4.进入下载好的tomcat7目录,将conf文件夹下的文件复制到每个实例目录下的conf文件下。
5.修改此conf文件夹中server.xml的端口号(Server port,Connector port ,AJP port)。6.最后通过一个启动脚本启动这些实例。具体步骤如下讲解:
上面步骤中的前四项都是废话,通过一个图解应该一目了然。
上图中, 左侧的apache tomcat7目录就是解压缩后的默认目录, 删掉了其他无用的文件夹。
tomcat-ins目录就是多实例的根目录,余下的就是针对每个web实例创建相应的目录。再将conf文件中的配置信息复制过来。修改相关端口号。
最后编写一个bat批处理文件来测试启动实例。bat文件位置上图所示
代码如下:
@echo off set JAVA_HOME=C:\Program Files\Java\jdk1.6.0_45 set PATH=%JAVA_HOME%\bin;%PATH% set CATALINA_BASE=%CD% cd ../../apache-tomcat-7-8082/bin catalina.bat start
这里需要说明的两个变量CATALINA_HOME、CATALINA_BASE,其中CATALINA_HOME指定的是tomcat主目录,CATALINA_BASE指定的是ins的目录,因为CATALINA_BASE默认和主目录相同。%CD%表示磁盘符和当前目录。
那么通过启动这个bat文件,不出意外的话,我们的web实例就成功启动了, 然后分别启动其他的实例,没有任何问题。
<完>