로컬, 개발, 운영에 대한 DB 정보가 다를 때, 매번 환경 별로 설정 정보를 변경하거나 주석 처리하는 것은 번거로운 일이다.
그 과정에서 의도치 않은 실수로 문제가 생길 수도...
그래서 환경 별로 properties 파일을 분리하여 개발하는 경우가 많다.
✏️jar는 톰캣 구동 시에 아래와 같은 cli 명령어로 어플리케이션을 구동할 수 있다.
java -jar -Dserver.port=8090 -Dspring.profiles.active=dev project_name.jar
✏️ -Dspring.profiles.active=dev
이 부분이 properties 파일에서 아래와 같이 기입되어있는 파일로 어플리케이션을 구동할수 있도록 설정한 부분이다.
spring:
config:
activate:
on-profile: dev
❓그럼 war는 톰캣 구동 시 어떻게 프로퍼티 파일을 설정할까?
setenv.sh 을 파일을 생성하여 변수를 설정해주어야 한다.
그럼 한단계 한단계씩 해보자.
1. 톰캣경로/bin 하위에 setenv.sh 파일을 아래 명령어로 생성한다.
✏️ setenv.sh 파일은 기본적으로 존재하지 않으며, 직접 쉘 파일을 생성해줘야 한다.
참고로 톰캣은 구동 시 startup.sh 호출 > catalina.sh 호출 > setenv.sh 파일 있으면 setenv.sh 참조 순으로 동작한다.
vi 톰캣경로/bin/setenv.sh
2. 편집기로 파일을 열어 아래와 같은 변수를 추가한다.
export JAVA_OPTS="$JAVA_OPTS -Dspring.profiles.active=dev"
3. 파일의 권한 설정을 변경한다.
✏️ 실행권한이 없으면 permission error가 출력된다.
chmod -Rf 755 톰캣경로/bin/setenv.sh
4. 톰캣을 재시작한다.
'Back > Server' 카테고리의 다른 글
[Linux] 메모리 사용량 확인 (0) | 2023.12.20 |
---|---|
[Tomcat] 특정 IP 접근 제한하기 (0) | 2023.12.20 |
댓글