본문 바로가기

WAS/TOMCAT

톰캣 멀티 인스턴스 구성

728x90

 

 

엔진 : /sw/tomcat11

디렉토리를 지운 것은 아니지만, 엔진 단에는 lib와 bin 경로만 있으면 된다.

 

 

인스턴스 : /sw/kb11 & /sw/kb12

엔진 단에 있는 temp, webapps, work, logs, conf를 복사해 온다.

※ 참고로 여기에 있는 bin 경로는 인스턴스 기동을 위한 sh 파일만 있다.

 

 

start.sh

#!/bin/sh
. ./setenv.sh
# Check User Name
export IAM=`id -un`
# Check Startup User Check
if [ $USER != $IAM ] ; then
  echo "Error : This user is "$IAM". Please login as a "$USER" user."
  exit
fi

# Check Process Check
export PID=`ps -ef | grep java | grep ${SERVER_NAME} | awk '{print $2}'`
if [ "$PID" != "" ] ; then
  echo "ERROR : \"${SERVER_NAME}\" server is already running!!"
  exit
fi

export CATALINA_HOME=/sw/tomcat11
export CATALINA_BASE=/sw/kb11

mv $LOG_DIR/catalina.out $LOG_DIR/catalina.out.$DATE

$CATALINA_HOME/bin/startup.sh

 

shutdown.sh

#!/bin/sh

export CATALINA_HOME=/sw/tomcat11
export CATALINA_BASE=/sw/kb11

$CATALINA_HOME/bin/shutdown.sh

 

setenv.sh

#!/bin/sh

#===========================================================
#Tomcat  Setting
#===========================================================
export CATALINA_HOME=/sw/tomcat11
export CATALINA_BASE=/sw/kb11
export JAVA_HOME=/home/app/jdk17
export LOG_DIR=/logs/kb11
export SHUTDOWN_PORT=8005
export AJP_PORT=8009
export HTTP_PORT=8080
export REDIRECT_PORT=8003
export USER="app"
export SERVER_NAME="kb11"
export DATE=$(date +%y%m%d_%H%M%S)
export CATALINA_OUT=/logs/kb11/catalina.out
#export PATH=$PATH:$JAVA_HOME/bin:/bin:/sbin

# ----------------------------------------------------------
# tomcat opts
# ----------------------------------------------------------
JAVA_OPTS="-Dtomcat.server.port=${SHUTDOWN_PORT}"
JAVA_OPTS="${JAVA_OPTS} -Dtomcat.ajp.port=${AJP_PORT}"
JAVA_OPTS="${JAVA_OPTS} -Dtomcat.http.port=${HTTP_PORT}"
JAVA_OPTS="${JAVA_OPTS} -Dtomcat.redirect.port=${REDIRECT_PORT}"
export JAVA_OPTS

#===========================================================
#JVM Memory Setting
#===========================================================
CATALINA_OPTS="-server"
CATALINA_OPTS="${CATALINA_OPTS} -Dserver_name=${SERVER_NAME}"
CATALINA_OPTS="${CATALINA_OPTS} -Xms512m"
CATALINA_OPTS="${CATALINA_OPTS} -Xmx512m"
CATALINA_OPTS="${CATALINA_OPTS} -XX:MetaspaceSize=256m"
CATALINA_OPTS="${CATALINA_OPTS} -XX:MaxMetaspaceSize=256m"
CATALINA_OPTS="${CATALINA_OPTS} -Djava.net.preferIPv4Stack=true"
CATALINA_OPTS="${CATALINA_OPTS} -Djava.awt.headless=true"
CATALINA_OPTS="${CATALINA_OPTS} -Dfile.encoding=UTF-8"
export CATALINA_OPTS

#===========================================================
#GC, Heapdump Setting
#===========================================================
CATALINA_OPTS="${CATALINA_OPTS} -XX:+UseG1GC"
CATALINA_OPTS="${CATALINA_OPTS} -XX:+HeapDumpOnOutOfMemoryError"
CATALINA_OPTS="${CATALINA_OPTS} -XX:HeapDumpPath=${CATALINA_BASE}"
CATALINA_OPTS="${CATALINA_OPTS} -Xlog:gc*:file=${LOG_DIR}/gc.log.${DATE}:time,uptime,level,tags"
export CATALINA_OPTS

#echo "========================================================================"
#echo "JAVA_HOME=${JAVA_HOME}"
#echo "CATALINA_HOME=${CATALINA_HOME}"
#echo "CATALINA_BASE=${CATALINA_BASE}"
#echo "JAVA_OPTS=${JAVA_OPTS}"
#echo "CATALINA_OPTS=${CATALINA_OPTS}"
#echo "========================================================================"

 

사실 자바옵션으로 thread 설정과 port 설정이 가능해보이지만,

${instance}/conf/server.xml을 수정해야 한다.