Facts

  • express와 prisma를 이용해 처음으로 REST API를 만들었다.

  • AWS EC2와 깃허브를 이용해 클라우드 서버에 프로젝트를 실행시켜 보았다.

  • try catch 구문을 적극적으로 이용해 보았다.

Feelings

  • 프로젝트/과제 를 진행할 때마다 새로운 시도를 해보며 오류들을 잡아가는 것이 신났다

  • 어려운 것을 시도해가며 풀어가는 게 개꿀잼이다

Finding

  • 회의할 때 과제에 집중한다고 가끔씩 흘려듣는 상황이 생기는데.. 이를 좀 주의해야될 것 같다.

Future

  • 다음 주 부터 있을 [팀 프로젝트]에는 코드 공유와 리뷰가 중요할 것 같다.

  • 알고리즘 테스트 전용 깃허브 파일에 기록하는 습관을 가져야겠다.


오늘의 Troubleshooting

아이템 시뮬레이터 과제

AWS EC2 배포

  • AWS 사이트에 들어가 EC2 사이트로 들어간다! (로그인 필수)
https://ap-northeast-2.console.aws.amazon.com/ec2
  • 인스턴스 시작 버튼을 눌러 세팅을 마친 후 (프리티어) 키 페어를 생성해준다!

키페어

=> 이렇게 만든 키페어를 이용해 서버에 직접 연결해줄 것이다!

  • 그렇게 생성한 인스턴스의 보안그룹에 접속한다!

보안그룹

  • 인바운드 규칙에 포트 22의 SSH가 있는지 확인한 후 자신의 서버연결을 위해 포트를 새로 만들어 준다!

보안그룹2

  • GitBash와 키페어[itemSimulator.pem] 이용하여 EC2 인스턴스에 연결 해준다!
ssh -i <키페어파일> ubuntu@AWS의 퍼블릭 IP
# 예시 
ssh -i "C:/Users/user/Downloads/itemSimulator.pm" ubuntu@3.39.252.243

주소

# sudo -E bash 로 환경설정 저장
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
# apt-get 패키지 매니저로 nodejs 설치
sudo apt-get install -y nodejs
# yarn package manager  설치
npm install -g yarn
  • Github에서 만든 repository를 이용해 프로젝트를 clone 해줍니다!
git clone <Github Repository URL>
# 예시
git clone https://github.com/bbie-6772/itemSimulator.git

=> 이제 프로젝트를 EC2에 복사하는 건 성공했다!

  • 프로젝트를 실행!
node /itemSimulator/app.js

=> 근데 GitBash를 끄면 서버가 다운된다..

  • 위의 문제로 PM2(Process Manager)라는 모듈을 사용해볼 것이다!
# 관리자 모드 
sudo -s
#yarn을 이용해 pm2를 전역에 설치
yarn global add pm2
#pm2 를 이용해 서버를 킨다!
pm2 start /itemSimulator/app.js

#pm2 추가 명령어

#pm2 서비스 목록 출력
pm2 list 
#list로 본 [id]로 지정한 pm2 서비스를 멈춘다
pm2 stop [id]
#list로 본 [id]로 지정한 pm2 서비스를 재시작한다
pm2 restart [id]
#list로 본 [id]로 지정한 pm2 서비스를 삭제한다
pm2 delete [id]
#pm2 서비스 로그 출력 
pm2 log

EC2에 .env 파일 만들기

  • AWS EC2에 배포를 성공하고 INSOMNIA를 통해 직접 접속해서 API를 실행 해보았다!

실행사진

  • 어라..? Localhost에서 작동되었으나 EC2로 들어가니 작동이 안됀다!!

    => 아 맞다 .env 파일은 클론되지 않았지..

  • 그래서 .env 파일을 EC2 서버에 직접 생성해주기로 했다!

  • Linux 파일 생성 명령어 사용

# vim 에디터로 .env 생성
vim .env

# 1. 이후 화면에 .env 파일 코드를 복사해서 붙여넣기

# 2. :wq 명령어를 입력후 enter를 눌러 저장하고 나가기

# nano 에디터로 .env 생성
nano .env

# 1. 이후 화면에 .env 파일 코드를 복사해서 붙여넣기

# 2. crtl+x 로 나가면서 y를 눌러 저장하기 (+enter로 editor 나오기)

=> 프로젝트 끝!

Reference

programmers
스파르타코딩클럽
나무위키