AWS

[AWS] 스프링 부트 jar 파일을 AWS EC2에 배포하기

My April 2024. 9. 25. 16:34
반응형

1. 내 컴퓨터에 있는 jar 파일을 리눅스로 옮기기 위해 새로운 프로그램을 설치해야 한다.

먼저 WinSCP 사이트에 접속한 후 DOWNLOAD NOW를 클릭한다.

https://winscp.net/eng/index.php

 

2. 아래 버튼을 눌러 파일을 설치한 후 실행한다. 모두 기본값으로 두고 설치하되, 마지막 질문은 [아니요]를 누른다.

 

3. 수업 때 만든 rC:\fullstack405\react\backend\build\libs에 있는 jar 파일을 리눅스에 옮긴다.(jar 파일은 gradle에서 bootJar을 더블클릭하면 생성됨, 근데 bootJar를 누르기 전에 build.gradle에서 버전 설정해두는 게 좋음 예를 들면

version = '1.0.1'

 이런 식)

 

4. 새 탭을 눌러서 로그인을 진행한다.

파일 프로토콜은 SCP를 선택하고, 호스트 이름에는 AWS의 퍼블릭 IPv4 DNS 부분을 복사해서 붙여넣는다.

포트 번호는 22로 설정하고, 사용자 이름은 ec2-user로 했다. 그리고 고급 버튼을 누른다.

(로그인은 아직 아래 단계를 하고 나서 누르기!)

 

 

5. PuTTYgen에서 .pem 키 파일을 .ppk로 바꿨었는데 개인키 파일에 ...을 눌러 그 .ppk 파일을 선택한다. 그리고 이전 단계에서 본 하단의 로그인 버튼을 누르면 된다.

 

 

 

6. 아래는 로그인이 되었다면 나오는 화면이다.

왼쪽 부분이 내 윈도우 컴퓨터이고 오른쪽이 리눅스 서버다.

왼쪽에 올릴 파일을 마우스 우클릭하여 업로드를 누르면 리눅스쪽으로 옮겨진다.

 

 

7. putty로 리눅스 서버에 접속하여 jar 파일이 있는 경로에서 아래와 같은 명령어를 실행하면 서버가 돌아간다.

java -jar backend-0.0.1-SNAPSHOT.jar

 

 

8. 백그라운드에서 실행하고 싶으면 아래의 명령어를 입력한다. 서버가 돌아간 후 엔터치면 다른 작업을 할 수 있다.

java -jar backend-0.0.1-SNAPSHOT.jar  &

 

 

(8-2.) 백그라운드로 실행하지 않고 PuTTY를 하나 더 열어서 거기서 다른 작업을 해도 된다.

 

 

9. 종료하고 싶으면 

ps -ef | grep java

를 입력하여 돌아가고 있는 번호(아래 사진에서는 34067)를 확인하고

kill -9 방금본번호(아래 사진에서는 kill -9 34067)

를 입력하면 된다.(아래의 사진은 java -jar awsweb-1.0.0.jar를 입력한 상태이다.)

 

 

10. 다른 포트로 돌아가는 서버랑 같이 돌리고 싶으면 앞에 sudo를 불이면 된다. 종료할 때도 kill 앞에 sudo를 붙인다.(sudo를 안 붙이고 싶다면 포트번호를 1024 이상으로 설정해둔다.)

sudo java -jar awsweb-1.0.1.jar

sudo kill -9 34067

 

 

7. 사이트에 접속할 때는 aws 사이트에서 퍼블릭 IPv4를 확인하고 포트번호와 함께 url에 입력하면 된다. 아래의 예시는 8080포트로 접속한 것이다.

퍼블릭 IPv4 DNS:8080

반응형