Tomcat에서 환경 변수를 설정하려면 톰캣의 setenv.sh 또는 setenv.bat 파일을 사용할 수 있습니다. 이 파일은 톰캣이 시작될 때 읽혀지며, 여기에 환경 변수를 설정할 수 있습니다. setenv.sh는 UNIX 기반 시스템을 위한 스크립트이고, setenv.bat은 Windows 운영 체제를 위한 배치 파일입니다.
다음은 UNIX 기반 시스템에서 setenv.sh를 사용하여 환경 변수를 설정하는 간단한 예제입니다.
1. UNIX 기반
Tomcat의 bin 디렉토리에 setenv.sh 파일을 생성하거나 편집합니다.
1. setenv.sh 파일 생성
cd /path/to/tomcat/bin
touch setenv.sh
nano setenv.sh
또는 이미 파일이 존재한다면 직접 편집합니다.
setenv.sh에 환경 변수를 설정합니다. 예를 들어, MY_VARIABLE라는 이름의 환경 변수를 설정하고 싶다면 다음과 같이 작성합니다.
2. 환경변수 설정
export MY_VARIABLE="your_value"
setenv.sh 파일을 저장하고 실행 가능하도록 만듭니다.
3. setenv.sh 권한 주기
chmod +x setenv.sh
Tomcat을 실행합니다.
4. catlina.sh (tomcat) 실행
./catalina.sh run
2. WINDOW 기반
이번엔 window를 봅시다.
Windows에서는 유사한 방식으로 setenv.bat 파일을 사용할 수 있습니다. 다만 환경 변수 설정의 문법이 다릅니다.
Tomcat의 bin 디렉토리에 setenv.bat 파일을 생성하거나 편집합니다.
1. setenv.bat 파일 생성
cd C:\path\to\tomcat\bin
notepad setenv.bat
또는 이미 파일이 존재한다면 직접 편집합니다.
setenv.bat에 환경 변수를 설정합니다.
2. 환경변수 설정
set MY_VARIABLE=your_value
Tomcat을 실행합니다.
3. catalina 실행
catalina.bat run
이제 설정한 환경 변수는 Tomcat이 시작될 때 함께 로드되어 애플리케이션에서 사용할 수 있게 됩니다.
3. Springboot 사용
Spring Boot 애플리케이션에서는 환경 변수를 사용하려면 application.properties 또는 application.yml 파일을 통해 설정하거나, Java 코드에서 직접 환경 변수를 읽어와 사용할 수 있습니다.
1. application.properties 또는 application.yml 파일을 사용하는 방법:
Spring Boot의 application.properties 파일에 환경 변수를 설정하는 방법은 다음과 같습니다.
src/main/resources 디렉토리에 application.properties 파일을 만듭니다.
환경 변수를 아래와 같은 형식으로 추가합니다.
properties
my.variable=${MY_VARIABLE}
또는 application.yml 파일을 사용하는 경우:
yaml
my:
variable: ${MY_VARIABLE}
2. Java 코드에서 직접 환경 변수를 읽어오는 방법:
Spring Boot 애플리케이션의 Java 코드에서 환경 변수를 직접 읽어와서 사용할 수 있습니다. 예를 들어, @Value 어노테이션을 사용하여 값을 주입받을 수 있습니다.
Java 클래스에 @Value 어노테이션을 사용하여 환경 변수를 주입받을 필드를 정의합니다.
java
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
@Component
public class MyComponent {
@Value("${my.variable}")
private String myVariable;
// Getter 메서드 등 추가
}
@Component 어노테이션은 해당 클래스를 Spring의 컴포넌트로 등록합니다.
주입받은 환경 변수를 필요한 곳에서 사용합니다.
java
@RestController
public class MyController {
private final MyComponent myComponent;
public MyController(MyComponent myComponent) {
this.myComponent = myComponent;
}
@GetMapping("/getMyVariable")
public String getMyVariable() {
return myComponent.getMyVariable();
}
}
이렇게 하면 Spring Boot 애플리케이션에서 설정한 환경 변수를 Java 코드에서 사용할 수 있게 됩니다. 앞서 설정한 application.properties 또는 application.yml 파일에서 값을 읽어오거나, 직접 Java 코드에서 주입받아 사용하는 방법 중 하나를 선택할 수 있습니다.
'Linux' 카테고리의 다른 글
ubuntu - github 접속 (1) | 2023.12.27 |
---|---|
Linux - vim , vi 설치 (1) | 2023.12.23 |
AWS EC2 , NGINX - PROXY 설정 (0) | 2023.12.23 |