프로젝트 파일 Clone
- git clone <깃 프로젝트 주소>
- ls -al: clone상태 확인
- cd <프로젝트 폴더>: 프로젝트 폴더로 이동

설정 파일 작성
프로젝트 관련 .gitignore처리된 파일들은 직접 작성을 하거나 ec2서버에 올릴 필요가 있음
직접 작성 (vim)
- 작성을 해줘야하는 디렉토리로 이동
- vim <파일명>
- i키 : 작성
- esc: 작성 취소
- :wq : 저장하고 종료
- :q!: 저장하지 않고 종료
![]() |
![]() |
파일 업로드(SCP)
로컬 pc파일을 EC2에 업로드할 때 아래 명령어 사용
- scp -i [pem파일경로] [업로드할 파일 이름] [ec2-user계정명]@[ec2 instance의 public DNS]:~/[경로]
- 예시: scp -i "my_key_0.pem" /home/tesb/Documents/sending_test.py ubuntu@ec2-3-35-148-232.ap-northeast-2.compute.amazonaws.com:~/
+ 파일 다운로드
EC2에 있는 파일을 로컬 PC에 다운로드할 때 아래 명령어 사용
- scp -i [pem파일경로] [ec2-user계정명]@[ec2 instance의 public DNS]:~/[경로] [다운로드 파일의 로컬 경로]
- 예시: scp -i "my_key_0.pem" ubuntu@ec2-3-35-148-232.ap-northeast-2.compute.amazonaws.com:~/downloading_test.py /home/tesb/Documents/
스프링 프로젝트 빌드
스프링 프로젝트 최상위 폴더에서 ./gradlew를 이용해 빌드 파일(.jar)를 생성하면되는데, 처음 실행하면 실행 권한이 없어서 오류가 발생

따라서 실행 권한을 추가한다음에 빌드를 진행한다.
- chmod +x ./gradlew
- ./gradlew clean build ( clean 속성을 넣어야 이전에 빌드한 기록이 있더라도 문제 없이 빌드 가능 )

빌드한 프로젝트 실행
- 빌드가 성공하면, build/libs 디렉토리에 빌드 파일(.jar)가 존재
- 이중에서 plain이 안붙은 빌드파일을 실행

그냥 실행
터미널을 종료하면 프로세스가 종료됨
- 실행 및 확인: java -jar <빌드 파일.jar>

백그라운드 실행
터미널을 종료해도 EC2에서 계속 실행됨
- 실행: nohup java -jar <빌드 파일.jar> &
- 확인: tail -f nohup.out

문제1: 포트 죽이기

내가 사용하려는 포트가 이미 사용중이여서 프로젝트 실행이 안될때
- sudo lsof -i :<포트번호>
- sudo kill -9 <PID>

문제2: EC2 - RDS 연동 안됨

- EC2에서 RDS접근이 안되는 문제 발생 -> Build 실패 발생
- 원인: RDS와 EC2의 보안그룹이 달라서 발생한 문제
- 해결 방법: RDS에서 EC2 보안그룹 허용 처리 진행
- EC2의 보안 그룹 id값 복사
- RDS의 보안 그룹에서 3306포트에 해당 EC2 보안 그룹 추가
1 | 2 |
![]() |
![]() |
'AWS > EC2' 카테고리의 다른 글
FastAPI EC2 배포 (0) | 2024.05.31 |
---|---|
AWS EC2 준비 (0) | 2024.05.30 |