..
Tomcat: 왜 환경변수는 setenv.sh에 설정해야 하는가?
1. 환경변수의 필요성
애플리케이션이 구동되는 환경(개발, 스테이징, 운영)에 따라 다른 설정값(API 키, 로그 레벨 등)을 적용하기 위해 환경변수를 자주 사용합니다. 톰캣 환경에서는 이를 전역적으로 관리할 필요가 있습니다.
2. setenv.sh를 권장하는 이유
톰캣 가이드 문서에서는 환경변수 설정을 setenv.sh 파일에 작성할 것을 명시하고 있습니다.
- 분리 및 독립성: 톰캣의 핵심 실행 파일인
startup.sh나catalina.sh를 수정하지 않고 설정값만 따로 떼어 관리할 수 있습니다. - 안정성: 실행 스크립트 파일을 직접 수정하다 발생할 수 있는 오타나 설정 파손 위험을 방지합니다.
- 유지보수: 톰캣 버전 업그레이드 시 실행 스크립트는 교체되더라도
setenv.sh만 복사해두면 설정을 쉽게 유지할 수 있습니다.
3. 주의사항
setenv.sh 파일은 톰캣 설치 시 기본으로 제공되지 않는 경우가 많습니다. 사용자가 직접 생성하여 bin/ 디렉토리에 위치시켜야 하며, catalina.sh가 구동될 때 이 파일이 존재하면 자동으로 호출하여 설정을 읽어들입니다.
startup.sh -> catalina.sh -> setenv.sh 순서로 호출되는 흐름을 이해하면 트러블슈팅 시 큰 도움이 됩니다.