HelloWorld

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

웹(WEB)/AWS(아마존웹서비스)

EC2 인스턴스에 접속합니다.

커널 업데이트하라는 메세지에 따라, yum패키지 매니저를 통해

sudo yum update 명령어를 실행하여 업데이트합니다.

 

커널 업데이트가 완료되었습니다.

 

1. 자바8설치

프로젝트를 배포하기에 앞서 자바의 버전을 확인해 보겠습니다.

java -version

2020.03. 기준으로 EC2 자바 기본버전은 java7버전 입니다.

 

java8버전을 사용하기 위해 다음 명령어로 자바8버전을 설치합니다.

sudo yum install -y java-1.8.0-openjdk-devel.x86_64

설치가 완료되었으면, 다음 명령어로 자바 버전을 8버전으로 변경합니다.

sudo /usr/sbin/alternatives --config java

 

사용하지 않는 자바 7버전을 삭제하기 위해 다음의 명령어를 실행합니다.

sudo yum remove java-1.7.0-openjdk

 

java -version 명령어로 현재버전이 자바8버전으로 잘 설정되었는지 확인해봅니다.

 

2. Git 설치

다음 명령어로 git을 설치합니다.

sudo yum install git

설치가 완료되었으면

git --version

명령으로 git이 잘 설치되었는지 버전을 확인해봅니다.

 

3. 프로젝트 Clone

git이 잘 설치되었으면 다음 명령어로 프로젝트를 clone할 디렉토리를 생성합니다.

mkdir app
mkdir app/git

app/git 디렉토리가 생성되었으면 git 디렉토리로 이동합니다.

cd ~/app/git

 

github 홈페이지에 접속해서 clone할 본인의 웹 프로젝트의 HTTPS주소를 복사합니다.

 

터미널로 돌아와 github의 프로젝트를 EC2로 복제하겠습니다.

복사한 주소를 다음의 명령어로 실행합니다.

git clone 복사한HTTPS주소

ls 명령어로 프로젝트가 잘 clone 되었는지 확인합니다.

clone한 프로젝트의 디렉토리로 이동하고

git branch 명령어를 사용하여 현재 브랜치를  확인 할 수도 있습니다.

git branch -a

 

프로젝트가 잘 복제되었는지 테스트를 진행하겠습니다.

다음의 명령어를 실행합니다.

./gradlew test

권한문제로 허가거부 되어 테스트가 진행되지 않았습니다.

gradlew에 권한을 부여합니다.

chmod +x gradlew

다시 테스트를 진행합니다.

./gradlew test

테스트를 잘 통과하였습니다.

4. 프로젝트 build 및 스프링부트 실행

프로젝트를 빌드하여 jar파일을 생성하겠습니다.

./gradlew build

빌드에 성공하면,

app/git/lectureSearch/build/libs/ 디렉토리에 jar파일이 생성됩니다.

 

jar파일을 실행하면 스프링부트가 실행됩니다.

jar파일을 실행하는 명령어는 다음과 같습니다.

java -jar jar파일이름

스프링부트가 정상가동 되었습니다.

 

5. 웹 서비스 접속

스프링부트는 8080포트로 실행됩니다.

따라서 EC2 인스턴스에 8080포트로 접속할 수 있도록 규칙을 추가해 줍니다.

 

 

이제 EC2 인스턴스의 IP로 웹 서비스에 접속을 할 수 있게 되었습니다.

EC2 인스턴스의 DNS주소를 복사합니다.

 

인터넷 주소창에 DNS주소를 붙여놓고 뒤에 :8080 포트를 명시해 줍니다.

DNS주소:8080/

드디어 LectureSearch 프로젝트가 외부에 노출되었습니다.