AWS 서버 - Spring Boot 띄우기 (2-.jar)

2.5*2 하빈·2023년 11월 22일
8

AWS

목록 보기
2/4

1 - EC2 접속하기


이전에 AWS 서버 - Spring Boot 띄우기 (1) 에서 인스턴스를 생성했죠!
생성한 인스턴스 EC2에 접속을 해보겠습니다.

  • AWS 인스턴스 SSH 연결 가이드에 나와있는대로 연결을 진행해주시면 됩니다.


  • 저는 윈도우 환경에서 진행함으로 git bash를 사용하겠습니다.
  • 전에 다운받은 .pem 파일이 있는 곳으로 이동합니다.
  • 해당 경로(폴더)에서 git bash를 엽니다.

참고로
.pem 파일은 복원도 안되고, 재 다운도 안되니 소중히 다뤄주세요

  • 아래 명령을 입력합니다. ( 권한 변경 후 SSH로 EC2 서버에 접속 )
$ chmod 400 {.pem}
$ chmod 400 privateKey.pem

  • 권한을 변경하고 접속을 시도합니다.
$ ssh -i "{.pem}" {유저이름}@{퍼블릭 DNS | 퍼블릭 IP}
$ ssh -i "private.pem" ubuntu@ec2-0-00-000-000.ap-northeast-2.compute.amazonaws.com
$ ssh -i "private.pem" ubuntu@0.00.000.000
  • 이렇게 뜨면 접속 성공입니다!


2 - EC2 서버에 JAVA 다운


AWS에서 제공하는 가상 서버(EC2)에 접속을 하였습니다.

  • 우분투 명령창에서 JAVA를 다운받겠습니다.

  • 아래 명령을 입력합니다.

자바 버전은 Spring boot 빌드 버전에 맞게 다운 받아주시면 됩니다.

Spring boot Project 안에 .gradle 에서 버전을 확인하세요.

저는 Spring boot 3.0 버전 이상을 사용해서 자바 17을 다운하겠습니다.
보통 2. 버전은 자바 8이나 11로 다운하시면 됩니다.

$ sudo apt-get update
$ sudo apt-get install openjdk-17-jdk

3 - EC2로 .jar 파일 옮기기


  • 다시 개발 환경(Window)으로 돌아와서 .jar 파일을 생성해줍니다.

  • 저는 인텔리제이를 사용해서 생성하겠습니다.

  • gradle 터미널을 열어서 boot jar 실행합니다.
    아래와 같이 하시면 됩니다.

  1. 우측에 Gradle( 꼬끼리 ) 클릭!

  1. 터미널 클릭!

  2. Run Anything 검색창에 bootjar 검색 후 실행

  3. 좌측 프로젝트 폴더 build -> libs -> .jar 파일이 생성됩니다.

  • .jar 파일을 복사해서 EC2로 접속이 가능한 .pem 파일이 있는 폴더로 이동합니다.

  • git bash를 열어서 아래 명령어를 입력합니다.

$ scp -i ms.pem -P 22 {.jar} ubuntu@{ip}:{dir}
$ scp -i ms.pem -P 22 Example-0.0.1-SNAPSHOT.jar ubuntu@{ip}:{dir}

  • EC2 우분투에 접속해서 파일이 복사가 되었는지 확인합니다.

  • EC2 서버에서 .jar를 실행합니다.
    ( 실행 명령어는 동일합니다.) -> java -jar {???-0.0.1-SNAPSHOT}.jar

  • 정상적으로 실행되는 것을 확인할 수 있습니다.

TIP : FileZilla를 다운 받아서 GUI 환경에서도 옮길 수 있습니다!


4 - EC2 백그라운드 실행


사실 .jar는 상시 구동되어야 서비스를 할 수 있겠죠?

그래서 .jar를 백그라운드로 실행해보겠습니다.

( EC2 우분투 접속 종료되어도 계속 실행된다. )

  • EC2에서 .jar 파일이 있는 디렉토리에서 아래 명령을 입력한다.
$ nohup java -jar {filename}.jar &
  • & : background에서 실행시키게 함
  • nohup : 사용자 로그아웃(접속 종료) 등에도 계속 실행 상태로 유지함

본래 두 개의 명령은 따로 실행이 가능하지만, 보통 조합으로 많이 사용한다.


  • 사용 중인 프로세서 알아내기
$ ps -ef (| grep 프로그램명)


  • 프로세서 종료하기는 아래와 같이 한다.
$ kill -9 <PID(프로세스 아이디)>


다음은 RDS 연동으로 가보자.

AWS 서버 - Spring Boot 띄우기 (3-RDS)

profile
끝내주는 남자

0개의 댓글