[Spring] HTTP 배포하기
SpringBoot 백엔드 서버를 HTTP로 배포하기
- 사용환경(Window > git bash)
- AWS EC2 생성과 RDS 구매로 DB를 생성 및 연결 해놓은 상태
Step 1. RDS 구매하고 RDS 포트 열어주기
프리티어
선택 > DB 인스턴스 식별자에 이름 적기 > 마스터 사용자 이름과 암호 적기(추후 DB 연결할 때도 사용)연결 > 추가 연결 구성 > 퍼블릭 액세스 기능 (
예
) > VPC 보안 그룹(새로 생성
) > 새 VPC 보안 그룹 이름 설정 > 가용영역 선택
Step 2. MySQL이랑 연결
Data Source > MySQL > Name, Host(엔드포인트) User, Password, Database 이름 RDS와 동일한 설정으로 입력 > Test Connection
application.properties >
spring.datasource.url=jdbc:mysql://엔드포인트:3306/Database이름
> User, Password 설정
Step 3. AWS EC2 서버 사기
Step 4. AWS EC2에 접속하기 ( WINDOW )
- 접속할 컴퓨터가 22번 포트가 열려있어야 접속 가능하다. AWS EC2의 경우, 이미 22번 포트가 열려있다
- gitbash 실행 > 아래 입력
ssh -i [키페어 끌어다 놓기] ubuntu@[IP주소]
Step 5. EC2 준비하고 배포하기
배포파일 빌드하기 > Intellij에서 우측 Gradle 클릭 & build 더블 클릭
(ssh로 접속한)Ubuntu에서 OpenJDK 설치하기(반드시 17v)
sudo apt-get update
sudo apt-get install openjdk-17-jdk
java -version
- 호스트: IP 번호, 포트:22, 키파일: 키페어 경로 입력 후 연결
- 좌측: 실행할
jar
파일 경로로 들어감(-plain.jar
파일이 아닌.jar
파일 더블 클릭) 우측: 서버와 연결 후
ubuntu
경로로 자동 설정됨.- 스프링 부트 작동시키기
java -jar house_backend-0.0.1-SNAPSHOT.jar
- 웹에 접속하기
- 스프링부트가 정상 작동되면 아래의 주소 입력
http://[IP주소]
- 포트 포워딩(뒤에 포트번호 떼고 사용하기 위함)
ctrl + c
사용해서 스프링 부트 실행 종료sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080
- 재시작
java -jar house_backend-0.0.1-SNAPSHOT.jar
- 접속하기
http://[IP주소]
- 원격접속 종료하더라도 서버 계속 돌게 하기
This post is licensed under CC BY 4.0 by the author.