Sping nohup을 이용한 Ec2,RDS 배포 방법

·2023년 11월 18일
1

프로젝트 공부

목록 보기
33/33

ec2 인스턴스 접근 방법

기본적으로 접근하기 위해 터미널, cmd, putty, mobaxterm을 사용할 수 있다.

ec2를 추가하면 application.yml에서 server:url, server:port를 없애줘야 한다.

intellij 터미널 접근 방법

  • Tool -> Deployment -> Browse Remote Host로 인스턴스 정보 넣기
  • 아래 terminal에서 ubuntu@ip주소 선택 후 들어간다
  • ec2 홈페이지의 인스턴스 내에 있는 연결 버튼 클릭해서 거기에 있는 ssh -i "pem키" "ubuntu주소"를 터미널에 복사해 붙여넣는다.
    -> pem키를 통해 접근 권한 획득
    -> 접근권한이 없다고 뜰 수도 있음 - chmod이용해 권한 넣어주기

이때 pem키를 통해 ssh를 실행할 때 local 터미널에서 cdls를이용해 pem키 위치까지 접근 후 명령어를 실행해야 한다.

터미널 명령어

  • E: - default 드라이브인 C:에서 다른 드라이브로 이동
  • cd Project_files - Project_files라는 폴더로 접근
  • ls - 현재 파일 위치 하위의 파일, 폴더 조회
  • cat > application.yml - 명령어를 실행 후 원하는 코드를 복붙하면 application.yml파일에 덮어씌워진다
  • cat application.yml - application.yml의 내용을 확인
  • ^C - 명령어 나가기

ec2에서 개발한 프로그램 실행하기

bootjar 사용

링크 참고 🔗
1. springboot 내에서 bootjar 실행
2. ec2로 ~~SNAPSHOT.jar 전달
3. jar 파일 위치에서 java -jar manymanyUsers-0.0.1-SNAPSHOT.jar 실행
또는 java -jar build/libs/manymanyUsers-0.0.1-SNAPSHOT.jar 로 위치로 접근도 가능
4. 프로그램이 실행됨.
5. 만약 컴퓨터를 꺼도 실행시키고 싶다면
nohup java -jar manymanyUsers-0.0.1-SNAPSHOT.jar &으로 실행

./graldew 방법

  1. ec2에 들어감
  2. git clone으로 git폴더의 파일 가져옴(/home)에 있을 것
  3. 레파지토리 내에서 ./gradlew build 실행
  4. build/libs에 snapshot.jar 만들어짐
  5. jar 파일 위치에서 java -jar manymanyUsers-0.0.1-SNAPSHOT.jar 실행
  6. 만약 컴퓨터를 꺼도 실행시키고 싶다면
    nohup java -jar manymanyUsers-0.0.1-SNAPSHOT.jar &으로 실행

nohup 명령어 참고

SpringBoot 프로젝트 EC2 배포하기
4. 내려받은 파일로 빌드하고 jar 파일 실행시켜 스프링 부트 서버 실행시키기부분 참고

발생 가능한 오류

./gradlew build 멈춤

  • 일단 instance 중지 후 재실행 한 다음 아래를 따라해보자

필자는 어디가 틀린지 몰라 다 해보니 실행되었다..

어디서 build 오류가 나는지 확인하는 명령어
gradle build -x test

1. 메모리 늘리기

링크를 따라하기
🔗AWS EC2 프리티어에서 메모리 부족현상 해결방법

2. 명령어 실행

sudo apt-get install lib32stdc++6
sudo apt-get install lib32z1

AWS EC2 Gradle 배포 시 멈춤현상

3. build.gradle 파일에서 JUnit test 삭제

  • test가 진행되지 않는데, 코드가 존재해서 발생하는 오류.
    아래의 코드를 삭제해줘야 한다.
tasks.named('test') {
    useJUnitPlatform()
}

Tomcat 멈춤

Spring이 실행되려다 Tomcat이 Fail되서 멈준다고 뜰 때가 있다.
이것은 Tomcat의 포트번호가 8080인데, 8080포트번호를 이미 사용하는 것이 있을 때 발생
-> 아래의 RDS 포트 충돌 부분을 따라하면 된다


RDS 설정

Ubuntu MySQL설치&설정 - 2. MySQL초기 설정

연동 - https://leesungki.github.io/gatsby-aws-study-aws-rds-conection-mySQL/

POSTMAN 오류

https://cutiefish.tistory.com/33

포트번호 충돌 확인

profile
개발자가 되고싶은 낭랑 24세

0개의 댓글

관련 채용 정보