지난 포스팅에 이어, 이번 포스팅에서는 실제 생성한 인스턴스를 바탕으로 우분투 콘솔에 접속하고 빌드를 통해 서버를 띄우고 접속해보도록 하자.
EC2 Ubuntu 콘솔 접속
지난 포스팅에서 인스턴스를 생성할 때 함께 생성했던 "키 페어"를 잘 보관하는 것이 중요하다고 했었는데, 해당 파일을 보관해둔 폴더로 이동해주자.
(1) chmod 400 '키페어파일'
(2) ssh -i '키페어파일' ubuntu@인스턴스 공개 IP 주소 명령어를 통해 우분투 콘솔 접속
(3) Ubuntu Console에 git, jdk , mysql server (필요한 경우) 설치
// apt-get 업데이트
sudo apt-get update
// git 설치 및 확인
sudo apt-get install get
sudo apt install git
git --version
// Java (jdk 설치)
sudo apt-get install openjdk-11-jdk
java --version
// Mysql
sudo apt-get install mysql-server
mysql --version
(4) Github에서 SSH KEY 생성하기
cd ~/.ssh
ssh-keygen -t rsa -C Github계정 메일
위 명령어를 통해 .ssh 디렉토리에서 키페어를 생성하게 되고, id_res.pub 파일이 생성된다.
이후 cat id_rsa.pub 명령어를 통해 파일 내용을 출력한 후에 해당 내용을 깃허브 ssh에 저장하도록 하자.
github --> setting --> SSH and GPG Keys 탭으로 이동 후 new SSH Key 버튼 클릭
이후 새로운 SSH 키를 생성하여 복사했던 id_rsa.pub 값을 넣어주면 된다.
(5) git clone 하기
깃허브 레포지토리로 이동 후 code 버튼 --> SSH 탭을 누르고 나온 주소를 복사하자.
이 복사한 값을 EC2에 접속한 터미널에서 git clone 할 디렉토리로 이동후 클론을 진행하자.
파일 빌드 및 실행시키기
(1) ./gradlew clean build
./gradlew clean build 명령어를 통해 프로젝트 파일을 빌드한다.
(2) 빌드 파일 생성 확인
빌드가 성공적으로 끝나면 build -> libs 디렉토리가 새롭게 생기고 해당 디렉토리로 이동해서 ls 명령어를 입력해보면,
jar 파일이 생성된 것을 확인할 수 있다.
(3) 빌드 파일 실행
java -jar [jar 파일] 명령어를 입력하면 해당 빌드 파일을 실행하여 우리의 프로젝트 서버가 실행되게 된다.
참고 : 백그라운드 실행
nohub java -jar aws-0.0.1-SNAPSHOT.jar&
nohub 명령어 뒤에 &를 붙이면 백그라운드에서 실행한다는 의미로 EC2 콘솔 접속을 끊더라도 실행 파일을 계속 실행하라는 명령이다.
명령어를 실행시켜도 스프링 부트가 실행되고 있다는 로그가 나오지 않아 실행되는지 잘 모르겠다면 우선 ls 명령어로 libs 디렉토리에
nohub.out 파일이 생성되었는지 확인하고
cat nohub.out
명령어로 nohub.out 파일을 출력하면 로그가 나오는 것을 확인할 수 있다.
이후, 현재 실행된 jar 파일을 끄고 싶다면
jobs 명령어를 통해 실행중인 작업을 확인하고, 포트를 통해 작업중인 PID를 따와서 Kill 명령어로 작업을 종료해주면 된다.
브라우저 URL로 접속하기
다음과 같이 접속이 되는 것을 확인할 수 있다.
- 본인은 첫 AWS 인스턴스 생성 시 리전을 서울로 설정하지 않아 호스트 주소가 다름
출처