스프링 배포 - 프로필 설정과 서버 구성 전략
스프링 부트 애플리케이션을 다양한 환경(개발, 테스트, 운영)에 배포하는 방법, 프로필 설정 전략, JAR/WAR 패키징 차이점, 포트 포워딩 설정 및 백그라운드 실행 기법을 상세히 설명하는 실용적인 가이드입니다.
배포 (+원하는 프로필로)
AWS나 cafe24나 로컬 등에 서버 배포(구동) ㄱ ㄱ ㄱ
jar vs war
- jar은 내부 톰캣 사용, war은 외부 서버 사용으로 이해하면 됨 -> 보통 본인은 그냥 내부 톰캣 사용해서 배포
- 주의: 외부 톰캣에서 webapp 경로를 사용하는 편인데, war은 사용가능하나 jar은 사용불가
포트생략법
- 배포할 때
http://localhost:8080
이 아닌http://localhost
로 접속법(포트생략법) - http는 80포트를 기본값으로 사용하고, 개발할 때 사용한 포트는 8080포트
- 따라서 “포트포워딩” 을 사용해서 80포트 접속시 -> 8080포트로 변경해주면 끝
- 80포트 -> 8080포트 포트포워딩 예시
- 등록 :
sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080
- 조회 :
iptables -nL PREROUTING -t nat --line-numbers
- 삭제 :
iptables -t nat -D PREROUTING {number}
- 등록 :
“실행 시점” 에 원하는 프로필 사용!!
-
IDE에서 Application 에
--spring.profiles.active=prod
하거나 (물론 값도 가능)인텔리J에서 활용한 예시(사진)
prod(배포 프로필)
default(개발 프로필) -
터미널에서 명령어로 jar or war 실행. 2가지 방법 소개 (해당 파일 경로에서 꼭 입력)
nohup은 백그라운드에서 실행!! -> nohup.out에 로그남음
nohup java -jar secret-art-typing-gallery-0.0.1-SNAPSHOT.jar --spring.profiles.active=prod &
nohup java -Dspring.profiles.active=prod -jar secret-art-typing-gallery-0.0.1-SNAPSHOT.jar &
댓글남기기