[TIL]201130 Server Setting, 배포확인, DB구성

Chaegyeom·2020년 11월 30일
0

TIL

목록 보기
76/77
post-thumbnail

아마존 ec2를 통해 server를 배포해보자

우선 간단한 서버를 만든다

깃허브에 올려둔다!

EC2 셋업 과정

aws.com에 접속해서 EC2메뉴에 들어가서 인스턴스 시작을 누른다!


필요한 PC를 선택한다(프리티어 사용가능이라고 태그되어있는 PC를 선택해야 과금에서 자유롭다)


선택을 누르면 aws의 PC를 사용할 수 있게 되는데 현재 생성된 PC는 그냥 컴퓨터이다.(임대하는 개념이다)


새로운 키페어 생성을 선택하고 진행하는 프로젝트에 맞게 키페어이름을 작성한뒤 키페어다운로드를 클릭한다 그럼 ~.pem이라는 파일이 다운되는데 이pem키를 통해 인스턴스에 접속할 수 있기 때문에 pem키를 잘 관리해야 한다


인스턴스 시작을 클릭하고 인스턴스 보기를 통해 인스턴스 목록으로 오면 이름칸이 비어있는데 다른 인스턴스들도 생성하게 되면 헷갈릴 수 있기 때문에 이름을 붙여준다!
인스턴스에 접속하기 위해서는 인스턴스를 생성하면서 다운받은 ~.pem키와 인스턴스설명란에 있는 IPv4 퍼블릭 IP가 필요하다

연결을 위해 연결버튼을 눌러보면

위와 같이 어떻게 하면 연결할 수 있는지에 대해 설명이 되어있다

Mac OS기준으로 설명을 해보자면

루트 디렉토리에 ssh라는 폴더가 있다(터미널을 켜자마자 cd .ssh명령어로 진입가능하다)
없는경우에는 mkdir .ssh명령어를 통해 생성해주자!

이제 아까 다운받았던 펨키를 ssh폴더로 옮겨야 한다

mv ~/Downloads/(다운로드된 pem파일이름) ./ 명령어를 통해 현재 디렉토리로 다운받은 pem키를 옮긴후 ls 명령어를 통해 현재 디렉토리에 잘 옮겨졌나 확인한다

잘 옮겨졌다면

chmod 400 (다운로드한 pem파일이름)명령어를 통해 권한을 부여한다

권한을 부여한 후

ssh -i (키의 경로주소) ubuntu(아이디 보통 ubuntu이다)@(IPv4 퍼블릭 IP)명령어를 입력하여 접속할 수 있다.


최초접속시에 뭔가 물어보는데 yes를 입력하고 엔터를 치면 된다

이렇게 하면 임대한 우분투 PC에 접속할 수 있다.

하지만 이 우분투 PC는 git이외에는 아무것도 설치되어있지 않은데 어떻게 이 우분투 PC를 서버로 활용할 수 있을까 ?

우선 sudo apt update명령어를 친다 버전업데이틑 진행 후

NVM설치

curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash

명령어를 통해 nvm을 설치한다

그다음 NVM의 Path의적용을 위해 다음 명령어를 통해 적용시킨다.

source ~/.bashrc

Node.js 설치

NVM을 통해 필요한 버전을 설치한다.

nvm install (설치할 버전)

설치된 버전은 nvm use (설치한 버전)명령어를 통해 적용시킬 수 있다.

이제 설치된 node 및 npm이 잘 작동하는지 확인한다.

node -v

npm -version

EC2 권한 설정

그후 git clone명령어를 통해 레포지토리에 올려둔 서버코드를 클론한다

깃허브 레파지토리를 클론한뒤 npm install명령어를 통해 Dependencies에 작성된 모듈들을 인스톨 한 후 npm start로 서버를 실행시켜본다

그 후 IPv4 퍼블릭 IP:포트번호로 접속하면 접속이 되어야 할 것 같지만 접속이 되지 않는데 aws에서 권한 설정을 해주지 않아서 그렇다


aws인스턴스에서 오른쪽으로 쭉 가보면 키이름에 위에서 설정했던 이름을 가진 보안그룹 이름을 기억한 뒤


네트워크 및 보안 탭의 보안그룹에 들어가보면 기억했던 보안그룹 이름이 있다

클릭해서 인바운드 규칙 편집을 클릭해서 인바운드 규칙을 추가 해준다.


우선 HTTP요청을 위해 HTTP규칙을 추가해주고 서버에 작성했던 포트를 사용자 지정 TCP를 통해 설정해주면 우선 서버에 접속이 가능한 상태가 된다

그리고 서버에 접속해 보면 잘 접속되는 것을 확인할 수 있다.

그런데 해당 우분투를 실행시킨 터미널을 끄게되면 서버도 꺼지게 되는데 터미널을 꺼도 서버는 작동되게 하는 방법이 있다.

PM2를 통해서 터미널을 꺼도 서버가 작동되도록 해보자

PM2라는 프로세스를 매니징해주는 모듈이다. PM2를 사용하면 터미널을 종료해도 서버가 계속 작동할 수 있게 해준다.

npm install -g pm2

명령어를 통해 설치할 수 있다.

설치하고 난 뒤 사용방법은

pm2 start 실행하고자하는 파일 경로 명령어를 작성하면

이렇게 pm2를 통해 서버를 실행시킬 수 있다.


또한 잘 작동하고 있는지 확인하기 위해서
pm2 list라는 명령어를 통해 어플리케이션이 잘 작동하고 있는지 확인할 수 있다.

데이터베이스 구성

RDS를 통해 데이터베이스를 구성하고 연결시켜보려 했으나 이번 프로젝트에서 사용하기로 한 typescript에 대한 공부가 부족해서 아직 정확히 DB를 구성할 수 없었다 오늘 더 공부해봐야겠다.

profile
주니어 개발자가 되고싶은

0개의 댓글