Spring boot - MySQL 연결
1. RDS 구매 & 포트열기 (기본적인 보안세팅)
ap-northeast-2.console.aws.amazon.com/console/home?region=ap-northeast-2#
- RDS 검색 -> 데이터베이스 생성 -> 표준생성,mysql,프리티어 선택
- DB인스턴스 식별자 자유롭게 입력 ex) springboot-db
- 마스터 사용자 이름/암호 (꼭 기억해야함)
- 연결 - 퍼블릭 엑세스 가능 '예' 체크! (그래야 RDS접근 가능함)
- 보안그룹 - 새로생성 - 새 보안그룹이름생성 ex) springboot-db-security, 가용영역 아무거나 선택
- 추가구성 - 초기 데이터베이스 이름 입력 ex) myselectshop 후 데이터베이스 생성 클릭
- RDS 왼쪽 메뉴에서 데이터베이스 클릭 후 데이터베이스 이름 클릭
- 연결&보안탭에서 보안그룹 - 인바운드 규칙편집 - 규칙추가 - 포트범위3306 소스 위치무관 후 저장
2. IntelliJ- mysql 연결
ap-northeast-2.console.aws.amazon.com/rds/home?region=ap-northeast-2#databases:
- 엔드포인트 링크 확인
- 인텔리제이에서 오른쪽 데이터베이스 메뉴 클릭 - +아이콘 클릭 - 데이터 소스 - mysql 선택
- 이름 자유롭게 / 호스트 - 엔드포인트 링크 넣기 / id pw database 1번에서 설정한 값으로 넣고 테스트
(만약 테스트 때 오류난다면 1. 비밀번호 틀림 / 2. 포트 안열어줌 의 경우
3. application.properties 에 MySQL 연결 설정
spring.datasource.url=jdbc:mysql://나의엔드포인트:3306/myselectshop
spring.datasource.username=나의USERNAME
spring.datasource.password=나의패스워드
spring.jpa.hibernate.ddl-auto=update
4. IntelliJ에서 파일 빌드
- 우측 Gradle메뉴 - Tasks - build폴더 - build 두번클릭
- 시간 지나면 왼쪽 폴더 목록에 bulid - libs에 저장됌
AWS 서버
1. EC2 서버 구매링크
ap-northeast-2.console.aws.amazon.com/ec2/v2/home?region=ap-northeast-2
2. 많이 쓰이는 리눅스 명령어
ls: 내 위치의 모든 파일을 보여준다.
pwd: 내 위치(폴더의 경로)를 알려준다.
mkdir: 내 위치 아래에 폴더를 하나 만든다.
cd [갈 곳]: 나를 [갈 곳] 폴더로 이동시킨다.
cd .. : 나를 상위 폴더로 이동시킨다.
cp -r [복사할 것] [붙여넣기 할 것]: 복사 붙여넣기
rm -rf [지울 것]: 지우기
sudo [실행 할 명령어]: 명령어를 관리자 권한으로 실행한다.
sudo su: 관리가 권한으로 들어간다. (나올때는 exit으로 나옴)
3. EC2접속
- git bash 실행 -> ssh -i 받은키페어를 끌어다놓기 ubuntu@아이피(AWS에적힌내아이피)
- git bash 종료 시 exit 명령어 입력을 통해 ssh 접속을 먼저 끊어주세요
4. OpenJDK 설치(ubuntu에 한줄씩 실행)
sudo apt-get update // 저장소 업데이트
sudo apt-get install openjdk-8-jdk // 입력하고 중간에 Y 입력 한번 더 해야함
java -version // java 설치여부 확인 (openjdk, 1.8버전 확인)
5. FileZilla 로 파일 옮긴 후 작동시키기
java -jar JAR파일명.jar // ubuntu 안에 해당파일 있는 경로에서
6. 8080, 80번 포트 열어주기
- AWS 인스턴스 - 보안 - 보안그룹 - 인바운드규칙 - 규칙추가
- 80은 HTTP, 8080은 사용자지정 TCP 선택 후 소스는 둘다 위치무관으로 저장
7. 8080 -> 80번 포트로 가는작업 = 포트포워딩
sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080
- 리눅스에서 제공, 80으로 들어온걸 8080으로 연결해주는 의미 (ubuntu에 입력)
* 만약 포트포워딩 해도 접속이 안된다면
sudo iptables -t nat -L // 입력해서 포트포워딩 상태 확인
sudo iptables -D PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 포트번호
// 입력해서 삭제 반복
8. nohup 설정 (서버 계속 작동하게 하기)
nohup java -jar JAR파일명.jar & // 서버 계속 돌아가게 설정 // 입력 후 엔터 두번
// 종료하는 법
# 아래 명령어로 미리 pid 값(프로세스 번호)을 본다
ps -ef | grep java
# 아래 명령어로 특정 프로세스를 죽인다
kill -9 [pid값]
도메인 등록
1. www.gabia.com/로그인 후 서비스 관리 - 관리툴 - 도메인 연결 - DNS 설정 - 호스트:@ 값:ip주소 입력 후 저장
'스프링부트' 카테고리의 다른 글
| Could not connect to SMTP host: 도메인주소, port: 465 에러 관련 (0) | 2022.10.26 |
|---|---|
| 스프링부트 메모 (0) | 2021.03.21 |
댓글