반응형




+tomcat7


-주의 ; tomcat6에서는 war 배포시 서블릿에 대한 정의를 tomcat6에서는 web.xml에서 지정해주어야 한다.
그러나, tomcat7에서는 web.xml이나 코드내에 @WebServlet 지정자 둘 중에 하나만 지정해야 한다. 중복시, 웹앱이 실행이 되지 않을 수 있다.
/usr/tomcat7/logs/catalina.날짜.log 파일을 열어보면 알 수 있다.

-CentOS에서 java는 오라클 사이트에서 따로 구하지 않아도, 그냥 yum에서 jdk7 버전 깔고, 환경 설정만 해주면 된다.

: /etc/profile에 다음의 스크립트를 추가
# java7
export JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk.x86_64
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib/*:.

# tomcat7
export CATALINA_HOME=/usr/tomcat7

export PATH=$PATH:$CATALINA_HOME/bin:$JAVA_HOME/bin

+ 시작 방식도 좀 다름
tomcat6에서는 service tomcat6 start/stop/restart 등으로 했으나, tomcat7에서는 

startup.sh start/stop  
shutdown.sh

아니면 서비스 스크립트 만들면 동일하게 사용 가능.



+ 서비스 데몬 등록 (부팅시 자동 시작)


# vi /etc/init.d/tomcat 를 실행하여 아래내용을 입력하자  (tomcat7 init.d script 검색)


#!/bin/sh
#
# Tomcat7 auto-start
#
# chkconfig: 2345 90 90
# description: Auto-starts tomcat7
# processname: tomcat7
# pidfile: /var/run/tomcat7.pid
case $1 in
start)
    sh /usr/tomcat7/bin/startup.sh
    ;;
stop)
    sh /usr/tomcat7/bin/shutdown.sh
    ;;
restart)  # 신뢰할 수 없으니 restart 는 사용하지 말 것.
    sh /usr/tomcat7/bin/shutdown.sh
    sh /usr/tomcat7/bin/startup.sh
    ;;
esac
exit 0   


chmod 755 /etc/init.d/tomcat
실행권한 설정

chkconfig --add tomcat


-참고; tomcat 서비스가 안 죽으면 java 프로세스를 죽이면 된다. 주의!!!!
위 restart 커맨드는 절대 신뢰하면 안 됨!!!!! 주의!!!! 가끔 포트를 잡은 상태로 서비스가 종료 될 수 있다. 서비스 시작이 address in use로 되어
실패될 수 있음 !!! 스크립트 변경 필요!!!!!



+ Recent posts