Tomcat单库多实例部署

下载最新的tomcat文件,并解压,假设目录为:/home/user/apps/tomcat

bin
conf
lib
LICENSE
logs
NOTICE
RELEASE-NOTES
RUNNING.txt
temp
webapps
work


然后新建一个目录:/home/user/apps/tomcat_instances,其下结构为:

share (共享脚本) :这个下面只有一个inc.sh文件,设置一些基本的环境变量
job_server(一个tomcat实例,可以建n多个)

inc.sh

#!/bin/echo Warining,this library should be sourced!
export CATALINA_HOME=/home/haozu/apps/tomcat
export CATALINA_BASE=$(cd "`dirname $0`/../";pwd)

 

job_server 下的目录结构如下:

bin(手动创建)
conf (可以复制tomcat目录的conf),可以删除tomcat-users.xml 文件,直接将tomcat目录下的conf下的tomcat-users.xml软链过来
logs (手动创建)
temp(手动创建)

关键要处理的是bin目录下的一些文件的设置(setenv.sh,catalina.sh,inc.sh):
setenv.sh 用于tomcat启动的参数配置(当前目录下,会在tomcat启动时自动调用)

#!/bin/sh
export CATALINA_OPTS="-Xmx350M -Xms350M -XX:PermSize=64M -XX:MaxPermSize=64m -XX:+UseParallelGC -Dlog4j.configuration=file:///home/www/config/java/scheduler_log4j.xml"
export CATALINA_PID="$CATALINA_BASE/logs/catalina.pid"

将share目录下的inc.sh 做一个软链到当前目录(bin)下

catalina.sh

#!/bin/bash
. $(cd "`dirname $0`/";pwd)/inc.sh
#initial some directory
logs_dir="$CATALINA_BASE/logs"
tmp_dir="$CATALINA_BASE/temp"
webapp_dir="$CATALINA_BASE/webapps"
test ! -d "$logs_dir" && mkdir "$logs_dir" 
test ! -d "$tmp_dir" && mkdir "$tmp_dir"
test ! -d "$webapp_dir" && mkdir "$webapp_dir"
$CATALINA_HOME/bin/catalina.sh $*

 设置好conf/server.xml,文件,就可以在job_server目录下的启动tomcat了:

./bin/catalina.sh start

 

 

posted @ 2012-12-07 09:50  涛光  阅读(1525)  评论(0编辑  收藏  举报