본문 바로가기
Back/Server

[Linux, Tomcat] 환경별 properties 분리 tomcat에 설정하기

by 은z 2023. 10. 11.

 

로컬, 개발, 운영에 대한 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

댓글