Pages

Sunday, 26 November 2017

在Linux下,同时运行多个Tomcat实例


此为“同时运行多个MySQL实例”的姊妹篇 ^_^
由于Tomcat是跨平台的,所以以下的方法对Windows也可用。
基本思想还是一份程序+多份配置。具体来说,Tomcat启动的时候使用两个环境变量——CATALINA_HOME和CATALINA_BASE分别表示程序和配置的位置。程序指的是bin、lib目录,配置指的是conf、temp、work、logs和webapps的目录。
这样一来就很好办了,假设在~/tomcat下新建一份实例,首先将tomcat安装目录中的conf复制过来,然后新建work temp logs webapps目录,将要部署的应用放到webapps里面,修改conf下的server.xml,将其中的端口号都改掉(Server、Connector),然后使用如下的脚本来启动Tomcat(假设tomcat程序位于/usr/share/tomcat):
#!/bin/bash
CATALINA_HOME=/usr/share/tomcat
CATALINA_BASE=/home/xxx/tomcat
CATALINA_PID=/home/xxx/tomcat/pid
export CATALINA_HOME CATALINA_BASE CATALINA_PID
/usr/share/tomcat/bin/catalina.sh start
用以下脚本停止Tomcat:
#!/bin/bash
CATALINA_HOME=/usr/share/tomcat
CATALINA_BASE=/home/xxx/tomcat
CATALINA_PID=/home/xxx/tomcat/pid
export CATALINA_HOME CATALINA_BASE CATALINA_PID
/usr/share/tomcat/bin/catalina.sh stop -force
当然,除了CATALINA_HOME等变量,还可以指定其他的参数,比如
JAVA_OPTS=”-Xms800m -Xmx1500m “
用于设置内存限制等.

No comments:

Post a Comment