728x90

사실 회고라기 보다는 문제 해결과정을 작성해야하는데 간단하기도 하고 따로 탭을 만들 정도의 정보가 아니라서 회고에 작성한다.

 회사에서 코드의 수정이 완료됐을 때 자동 배포가 설정되어 있지 않아서 수동으로 파일을 교체하고 tomcat을 재시작하는데 그 과정에서 문제가 발생했다. '톰캣 종료' > '파일 교체' > '톰캣 시작' 순으로 작업이 진행되는데 이 때 에러 문구와 함께 톰캣 종료가 되지않는 현상이 발생했다.

[root@회사명 bin]# ./shutdown.sh
Using CATALINA_BASE:   파일경로 (회사 서버라 공개 불가능)
Using CATALINA_HOME:   파일경로 (회사 서버라 공개 불가능)
Using CATALINA_TMPDIR: 파일경로 (회사 서버라 공개 불가능)
Using JRE_HOME:        파일경로 (회사 서버라 공개 불가능)
Using CLASSPATH:       파일경로 (회사 서버라 공개 불가능)
Using CATALINA_OPTS:   
Using CATALINA_PID:    파일경로 (회사 서버라 공개 불가능)
$CATALINA_PID was set but the specified file does not exist. Is Tomcat running? Stop aborted.

 문제의 원인은 CATALINA_PID를 제대로 찾기 못해 발생한 것이었다. 이를 해결하기 위해서 시간을 들이긴했는데 결과부터 말하면 [startup.sh], [shutdown.sh] 의 내용을 수정하면 된다. [catalina.sh] 에서 CATALINA_PID를 비롯해 다른 변수들을 외부에서 받아서 사용하는데 처음에는 이 변수들이 어디서 주어지는지 몰라서 찾는다고 시간을 보냈다. 해당 변수는 [startup.sh], [shutdown.sh] 에서 export로 선언되어 있었고 그 경로를 알맞게 교체해 준 뒤, 중단할 톰캣의 PID를 담은 catalina.pid 파일을 경로에 넣어주면 정상적으로 종료가 된다.

+ Recent posts