建立多个tomcat实例有两个大方向。方向一,多个tomcat程序和多个配置文件。方向二,一个tomcat程序和多个配置文件。现介绍方法二。可参考http://www.itread01.com/articles/1476628806.html
Tomcat启动的时候使用两个环境变量——CATALINA_HOME和CATALINA_BASE分别表示程序和配置的位置。程序指的是bin、lib目录,配置指的是conf、temp、work、logs和webapps的目录。 假设在/usr/tomcat1下新建一份实例,首先将tomcat安装目录中的conf复制过来,然后新建work temp logs
webapps目录,将要部署的应用放到webapps里面,修改conf下的server.xml,将其中的端口号都改掉(Server、Connector),然后使用如下的脚本来启动Tomcat(假设tomcat程序位于/opt/tomcat): #!/bin/bash
CATALINA_HOME=/opt/tomcat CATALINA_BASE=/usr/tomcat1 CATALINA_PID=${CATALINA_HOME}/myShell/bos.pid #启动之后会在该bos.pid文件中存放进程ID,${CATALINA_HOME}/myShell/是存放该启动脚本的路径。
CATALINA_LOG=${CATALINA_BASE}/logs/catalina.out
GC_LOG=${CATALINA_BASE}/logs/gc.log
export CATALINA_HOME CATALINA_BASE CATALINA_PID
/opt/tomcat/bin/catalina.sh start 用以下脚本停止Tomcat:
#!/bin/bash
CATALINA_HOME= /opt/tomcat
CATALINA_BASE=/usr/tomcat1 CATALINA_PID=${CATALINA_HOME}/myShell/bos.pid
#关闭之后会在该bos.pid文件会自动删除,${CATALINA_HOME}/myShell/是存放该启动脚本的路径。
export CATALINA_HOME CATALINA_BASE CATALINA_PID
/opt/tomcat/bin/catalina.sh stop -force 当然,除了CATALINA_HOME等变量,还可以指定其他的参数,比如
JAVA_OPTS="-Xms800m -Xmx1500m "
用于设置内存限制等。
然后在 /usr/tomcat2建立实例二,
/usr/tomcat1拷贝过去,修改conf下的端口配置文件server.xml。把相应应用程序放在webapps下。然后可以用下面的脚本来启动该tomcat实例。
#!/bin/bash
CATALINA_HOME=/opt/tomcat CATALINA_BASE=/usr/tomcat2 CATALINA_PID=/usr/tomcat2.pid
CATALINA_LOG=${CATALINA_BASE}/logs/catalina.out
GC_LOG=${CATALINA_BASE}/logs/gc.log
export CATALINA_HOME CATALINA_BASE CATALINA_PID
/opt/tomcat/bin/catalina.sh start
Tomcat的安装参见:
http://java.chinaitlab.com/configure/850150.html
修改etc/profile
文件并非必须的 在启动tomcat的脚本里有相关的内容即可。
tomcat/bin/catalina.sh是启动tomcat的程序。但是当有多个tomcat实例时,应像上文一样另外写一个启动脚本,脚本中使用catalina.sh即可。可参见上文。或者把该脚本放在系统启动文件下.对于红帽来说就是放在/etc/rc.d/rc3.d/
和 /etc/rc.d/rc5.d下。