[AWS] EC2에 프로젝트 배포하기

SeungHyeon·2022년 8월 19일
1
post-thumbnail

이번 포스팅에서는 EC2에 내가 작성한 코드를 올려 배포하는 방법에 대해 알아보겠다.


  1. EC2 인스턴스에 SSH로 접속하기
cd {key pair 위치}

ssh -i {key pair} {사용자 이름}@{퍼블릭 IPv4 DNS}

  1. 배포 파일 빌드하기

IntelliJ 우측에 있는 Gradle을 클릭하고, build 폴더 내 build를 더블클릭

빌드를 완료하였으면 IntelliJ 좌측에 있는 build 폴더의 하위 폴더 libs에 있는 .jar 파일 확인

* 해당 파일이 빌드된 배포파일인데, EC2에 올려서 실행시키면 서버가 돌아가는 것이다.


  1. EC2 인스턴스에 자바 프로젝트 구동을 위한 JDK를 설치하기.
# 동기화하기
sudo yum update

# 본인 프로젝트에 맞는 Java 설치
# Java 1.8.0
sudo yum install java-1.8.0-openjdk

# Java 17
wget https://download.oracle.com/java/17/latest/jdk-17_linux-x64_bin.rpm
sudo rpm -ivh jdk-17_linux-x64_bin.rpm
sudo alternatives --config java

# 버전 확인 (잘 설치되었는지 확인)
java -version 

* SSH로 접속한 상태에서 명령어를 쳐서 설치.


  1. FileZilla 프로그램으로 EC2에 배포 파일 전송하기

* 다 작성하고 연결 버튼을 누르자

* 왼쪽이 내 컴퓨터, 우측이 EC2이다.

* 위와 같이 directory 하나 생성 후

* build/libs 경로에 있는 .jar 파일을 drag and drop 방식을 이용하여 EC2에 파일을 복사해준다.


  1. EC2 인스턴스에서 프로젝트 실행하기
cd {.jar파일 위치}

java -jar {파일이름}.jar


  1. EC2 인바운드 규칙 설정 (8080포트 추가)


  1. 확인


추가) 2022. 08. 19.

java -jar {파일이름}.jar 명령어를 사용하면 SSH 접속이 끊겼을 경우 프로젝트가 작동하지 않는다.

하여 SSH가 끊겨도 작동하게 하고 싶다면 아래의 명령어를 실행시키면 된다.

nohup java -jar {파일이름}.jar &

* nohup 은 "no hang up"(끊지 마!)의 약자로, 내가 세션과 연결을 종료해도 지금 실행시킨 프로그램을 종료하지 않겠다는 것을 의미

* & 는 해당 프로그램을 백그라운드로 실행시킨다는 의미

프로그램을 종료시키고 싶은 경우에는 아래의 명령어를 통해 종료시킬 수 있다.

# pid 값(프로세스 번호) 찾기
ps -ef | grep java

# 특정 프로세스를 죽이기
kill -9 {pid값}

참고)
https://velog.io/@dohaeng0/AWS에-Spring-Boot-프로젝트-배포-2-EC2-세팅&배포-도메인-연결
https://programming119.tistory.com/203
https://kitty-geno.tistory.com/25
https://velog.io/@namsh1125/EC2-Java-재설치
https://doing7.tistory.com/108

profile
어제보다 더 나은 오늘이 되자

0개의 댓글