개발 환경과 서버 환경을 분리하여 서버 환경에 보안을 위해 DB에 비밀번호를 설정해야 한다.
서버 환경 파일 생성하기
H2 데이터베이스에 비밀번호를 설정은 application.properties 파일을 열어 아래와 같이 입력하면 된다.
spring.datasource.password=1234
하지만 로컬 개발 환경은 비밀번호 없이 사용하고 서버 환경에서만 설정하고 싶다면 어떻게 해야할까?
스프링부트 시작 옵션으로 아래와 같이 spring.profiles.active 항목을 같이 전달할 수 있다.
java -Dspring.profiles.active=prod -jar sbb-0.0.1-SNAPSHOT.jar
이렇게 prod로 지정하면 스프링부트는 appliction-prod.properties를 사용한다.
spring.profiles.active=aaa로 지정하면 스프링부트는 appliction-aaa.properties를 사용한다.
STS에서 application.properties를 복사하여 application-prod.properties 파일을 생성하고 아래와 같이 작성하자.
빌드 버전 변경하여 배포 파일 생성하기
위의 환경 파일 생성으로 SBB가 업데이트되었다. build.gradle에서 빌드 버전도 변경해주자.
build.gradle
...
group = 'com.mysite'
version = '0.0.2-SNAPSHOT'
...
위처럼 수정 후 [Run->Run Configuration]에서 [Gradle Task - sbb]를 선택하고 [Run]버튼을 클릭하여 배포 파일을 새로 생성하자.
이제 이 파일도 파일질라를 이용하여 서버에 업로드하자.
서버에 변경 내용 적용하기
1. 데이터베이스에 비밀번호를 설정했기 때문에 기존의 데이터베이스 파일을 지워야 한다.
MobaXterm에서 아래와 같이 입력하고 파일을 삭제하자.
ubuntu@jumpto:~$ ls
sbb test.mv.db
ubuntu@jumpto:~$ rm test.mv.db
2. 다시 sbb 디렉터리로 이동 후 start.sh 파일을 수정하자.
#!/bin/bash
JAR=sbb-0.0.2-SNAPSHOT.jar
LOG=/home/ubuntu/sbb/sbb.log
nohup java -Dspring.profiles.active=prod -jar $JAR > $LOG 2>&1 &
3. 수정 완료 후 아래와 같이 입력하여 SBB서비스를 재시작하자.
ubuntu@jumpto:~/sbb$ ./stop.sh
SBB is not running
ubuntu@jumpto:~/sbb$ ./start.sh
서버의 H2 콘솔 접속하기
1. 설정했던 비밀번호를 입력하고 접속해보자.
2. 우리가 만들었던 테이블을 확인할 수 있다.
'IT > Spring Boot' 카테고리의 다른 글
[Spring Boot] 45. 스프링 부트 로그 관리(로그 생성, 사용자 로그 단계) (0) | 2024.05.29 |
---|---|
[Spring Boot] 44. 80번 포트로 운영하기(포트 번호 없이 접속하기) (0) | 2024.05.28 |
[Spring Boot] 42. 서버 스크립트 생성(서버 시작 및 중지 분리) (0) | 2024.05.28 |
[Spring Boot] 41. 서버 배포 - 배포하기(서버 설정 / 배포 파일 생성 및 전송) (0) | 2024.05.28 |
[Spring Boot] 40. 서버 배포 - (2)서버 접속 설정 (0) | 2024.05.27 |