잡다한 내 인생의 기록

Tomcat 설정 본문

프로그램/코딩

Tomcat 설정

알 수 없는 사용자 2014. 5. 8. 12:14
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

생성한 유저 home 폴더에 Tomcat 압축풀기


유저 홈 폴더에 temp 폴더를 만들고 그 안에 apache-tomcat-6.0.37.tar.gz 파일 넣기.

* 압축 풀고 tomcat으로 폴더명 변경
# cd /home/유저명        (유저 폴더로 이동)
# tar -C ./ -zxvf ./temp/apache-tomcat-6.0.37.tar.gz        (압축풀기)
# mv apache-tomcat-6.0.37 tomcat                        (폴더명 변경)

./tomcat/conf/server.xml 파일 환경에 맞게 수정

port를 80으로 변경한다.


servlet 사용을 위해 ./tomcat/conf/web.xml 파일 수정 - 사용중인 파일로 덮어씌운다.

servlet 사용을 위해 ./tomcat/conf/context.xml 파일에 Context 부분을 수정

<Context> 를 아래와 같이 변경

<Context reloadable="true" privileged="true">


유저의 home startup.sh를 서비스로 올리기 위해 tomcat을 service에 등록

1. java.sh 파일 등록

# touch /etc/profile.d/java.sh

# chmod 755 /etc/profile.d/java.sh

# vi /etc/profile.d/java.sh

// 아래부터 java.sh파일 내용

#######################

#!/bin/sh


JAVA_HOME=/usr/java

PATH=$PATH:$JAVA_HOME/bin

export JAVA_HOME PATH

#######################


2. init.d 내에 tomcat 등록

# vi /etc/init.d/tomcat

// 아래부터 tomcatlog 파일 내용

#!/bin/sh

#

# Startup script for Tomcat

#

# chkconfig: 35 85 15

# description: apache tomcat 6.x

#

# processname : tomcat

# lockfile: /var/lock/subsys/tomcat

# pidfile: /var/run/tomcat.pid


#Source function library


. /etc/rc.d/init.d/functions

# 자바 환경설정 가져오기

if [ -f /etc/profile.d/java.sh ]; then

   /etc/profile.d/java.sh

fi


CATALINA_HOME=/home/hp_user/tomcat

export CATALINA_HOME

export PATH=$PATH:$CATALINA_HOME/bin


prog=Tomcat

lockfile=${LOCKFILE-/var/lock/subsys/tomcat}

pidfile=${PIDFILE-/var/run/tomcat.pid}


export CATALINA_PID=$pidfile


start() {

   echo $"Starting $prog: "

   $CATALINA_HOME/bin/startup.sh

   RETVAL=$?

   echo

   [ RETVAL = 0 ] && touch ${lockfile}

   return $RETVAL

}


stop() {

   echo $"Stopping $prog: "

   $CATALINA_HOME/bin/shutdown.sh

   RETVAL=$?

   echo

   [ RETVAL = 0 ] && rm -f ${pidfile} && rm -f ${lockfile}

   return $RETVAL

}


status() {

   RETVAL="1"

   if [ -f "$CATALINA_PID" ]; then

      read kpid < $CATALINA_PID

      if checkpid $kpid 2>&1; then

         echo "$prog is alread running (${kpid})"

         RETVAL="0"

      else

         echo "lock file found but no process running for pid $kpid"

      fi

   else

      pid="$(pgrep java)"

      if [ -n "$pid" ]; then

         echo "$prog running (${pid}) but no PID file exists"

         RETVAL="0"

      else

         echo "$prog is stopped"

      fi

   fi

   return $RETVAL

}



# See how we were called

case "$1" in

   start)

      start

      ;;

   stop)

      stop

      ;;

   restart)

      stop

      sleep 5

      start

      ;;

   status)

      status

      ;;

   *)

      echo  "Usage: $0 {start|stop|restart|status}"

      exit 1

esac


exit $RETVAL


### tomcat init file end

// tomcat 파일 내용 끝

// tomcat에 대해 퍼미션 변경

# chmod 755 /etc/init.d/tomcat


java.net.UnknownHostException 처리

# vi /etc/hosts

해당 host명을 추가한다.


이제 톰켓을 service로 올릴 수 있다.

# service tomcat start|stop|restart


추가로 톰켓 로그보는 부분을 service로 등록한다.

# vi /etc/init.d/tomcatlog


// 아래부터 tomcatlog 파일 내용

#!/bin/sh

#

# view script for catalina.out

#

# processname: tomcatlog

# description: 톰켓 catalina.out log보기


# Source funcfion library.


. /etc/rc.d/init.d/functions


CATALINA_HOME=/home/hp_user/tomcat

export $CATALINA_HOME


view() {

   tail -f $CATALINA_HOME/logs/catalina.out

}


# See how we were called

case "$1" in

   view)

      view

      ;;

   *)

      echo "Usage: $0 {view}"

      exit 1

esac


exit 0



### tomcatlog init file end

// tomcatlog 파일 내용 끝

tomcatlog 퍼미션 설정

# chmod 755 /etc/init.d/tomcatlog