+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로 되어
실패될 수 있음 !!! 스크립트 변경 필요!!!!!