最近在玩jenkins+maven+git,用jenkins构建好jenkins的war包后想看看构建的war包能不能用,于是想着在一台机器上面启动多个tomcat实例。

首先,来看看解压后的tomcat根目录中含有什么东西吧:

bin 目录:包含所有运行tomcat的二进制和脚本文件

lib 目录:包含tomcat使用的所有共享库

conf 目录:包含配置信息,如tomcat绑定的端口等

logs 目录:包含所有的日志文件

temp 目录:此目录是tomcat存放的临时文件

webapps 目录:此目录非常重要,这里存放所有的应用程序war包

work 目录:如果应用程序包含jsp文件,那么每个jsp文件会被编译转化为servlet,存放于这里

当需要运行多个tomcat实例的时候,将tomcat压缩包解压为两个不同名称的目录,然后在目录一里面的webapps目录下将war包放入,然后执行bin目录下的start.sh脚本就能启动第一个实例,然后进入第二个目录,修改conf/server.xml中的四个端口:Shutdown port,Connector port,ajp port和Redirect port。

Shutdown port – 此端口用于关闭Tomcat。当执行shutdown.sh脚本时,它会给此端口发出一个信号,Tomcat的进程会监听此端口,如果接收到这样的信号,进程会清理退出。

Connector port - 此端口是应用对外公开发布的端口。

ajp port – Web服务器(例如Apache的httpd Server)通过此端口和Tomcat进行通信,也可以使用它设置一个负载均衡服务器。

Redirect port – 如果此Connector支持非SSL请求和接收SSL请求,Catalina会自动将请求指向到此端口。

修改完成之后就可以使用bin/start.sh脚本启动tomcat了。