본문 바로가기

프로그래밍/OS, Server

[Tomcat] 초기 설정 (404,503 에러 발생시)

이슈] 개발 환경에서는 잘 동작되던 war파일이 운영 환경에서 첫페이지 빼고 404 에러 발생.

        로그는 대충 class파일을 찾을수 없거나 jsp 파일을 찾을수 없다고 나옴. ftp 확인 결과 파일은 모두 있음.

        

 

해결]

$id로 실행시킬 계정과 그룹을 확인후
$chown 계정명:그룹명 /usr/local/apache-tomcat-7.0.90 -R

톰캣 홈 폴더 내 하위경로 포함(R) 실행시킬 소유자/그룹으로 소유권 변경
모든 작업은 root로 해야함.

실행을 root 권한으로 해버리는 경우 다른계정에서 실행시 클래스 파일이나 jsp 파일이 생성되지 않아 404,503 에러가 뜰수 있음.

 

참조 :

+톰캣을 root 계정이 아닌 특정계정 tomcat 계정으로 실행 하기

우선 tomcat 계정을 생성한다.
# useradd -M tomcat

톰캣 계정 설정 확인
계정을 생성하면 home 디렉토리가 /home/tomcat으로 설정 되며, 이를 CATALINA_HOME으로 변경해준다.

# grep tomcat /etc/passwd
tomcat:x:503:503::/usr/local/tomcat:/bin/bash

실행 스크립트 작성하기 (간략버전)
# vi /etc/rc.d/init.d/tomcat

아래 내용을 작성한다.  ==> 서비스 재시작(restart)시 문제가 발생할 수 있음!!! 주의! (binding fail.) => 서비스 shutdown이 완전히 완료되었는지 확인하는 작업이 필요함.

(아래는 간략 버전이므로 restart는 정확성이 보장 안됨. 다음에 나오는 update 버전 참고)
#!/bin/bash
# Startup script for the Tomcat Server
# chkconfig: 345 50 50
# description: Tomcat is a Web application server.
# processname: java
# directory : CATALINA_HOME=/usr/local/tomcat
. /etc/profile
case "$1" in
    start)
        echo "Starting tomcat: "
        su - tomcat -c $CATALINA_HOME/bin/startup.sh
        ;;
    stop)
        echo "Shutting down tomcat: "
        su - tomcat -c $CATALINA_HOME/bin/shutdown.sh
        ;;
    restart)          # 안전하지 않으니 restart는 하지 말 것.
        echo "Restarting tomcat: "
        su - tomcat -c $CATALINA_HOME/bin/shutdown.sh; su - tomcat -c $CATALINA_HOME/bin/startup.sh
        ;;
    *)
        echo "Usage: service tomcat {start|stop|restart}"
        exit 1
esac
exit 0

소유권을 tomcat으로 변경
# chown tomcat:tomcat tomcat 

tomcat 스크립트에 실행권한 주기
#chmod 755 tomcat

runlevel에 등록
chkconfig에서 add 될 수 있도록 스크립트에 "# chkconfig: 345 50 50" 를 추가한다.
#chkconfig --add tomcat


실제로 리부팅시 톰캣이 tomcat 계정으로 실행되는지 확인한다
# reboot

톰캣 실행시 데몬실행이 tomcat으로 되어 있는지 확인한다.  tomcat이 아닌 root인경우는 잘못된 경우임
# ps -ef | grep tomcat

톰캣 프로세스 수동 시작 및 종료
# service tomcat start
# service tomcat stop



출처: http://crazyj.tistory.com/52 [크레이지 제이의 탐구생활]