[Side Project] 멘토링, AWS를 이용한 API 구현

앞으로 새로 시작하는 강의의 보충으로

멘티들에게 다른 물리적 서버에 대한 이해를 돕게 하기위해

 

API를 활용하여 데이터를 가져와 화면에 바인딩하는 강의를 보충하기로 했다.

그리고 직접 API를 제공하기로 결정했습니다.

 

방법에 대한 고민은

1. 라즈베리파이를 이용하여 간단한 웹서버를 구현하는 방법

2. AWS에 API를 구축하여 제공하는 방법

 

을 생각했고

 

알아본 결과

AWS를 활용하는 방법으로

1. 웹서버를 구축

2. Lamda를 이용

 

으로 두 가지가 있었습니다.

 

개인적으로 AWS 학습을 함께 진행되기를 바라기에

1번의 웹서버를 EC2, ubuntu, nodeJs 환경을 바탕으로 하기로 결정!!

 

 

[구현 순서]

1) 개인PC(로컬)에서 NodeJs, VisualStudioCode 환경에서 간단한 API 구현 ( express 활용 ) : https://not-null.tistory.com/9

 

카카오 챗봇 기본 API 작성

- 코멘토 활용하기 위한 기초 API 작성, 카카오 챗봇 JSON API로 사용 - 로컬환경셋팅(해당 블로그 내용 참고) : https://codevkr.tistory.com/12 1) Nodejs 설치 (LTS 버전) 2) 프로젝트 경로 만들기 3) npm init..

not-null.tistory.com

 

2) AWS EC2 생성( ubuntu, 프리티어 ), ubuntu설치, NodeJs 설치, npm upgrade, npm init, mysql 설치

- https://not-null.tistory.com/14?category=902575

 

ubuntu mysql 전체 삭제 후 재설치

AWS EC2에 mysql 설치 중 에러가 발생하여 전체 삭제 후 재설치를 했다. 아래 명령어로 완료 했다. 1) apt-get purge mysql-server 2) apt-get purge mysql-common 3) rm -rf /var/log/mysql rm -rf /var/log/mysq..

not-null.tistory.com

https://not-null.tistory.com/16

 

[Mysql] 외부 접속 허용

AWS 방화벽 설정 1) 인스턴스에 적용된 보안그룹 수정 - 사용자 지정 인바운드 룰 적용 : Custom TCP > 3306 Port > 위치무관(Anywhere) 2. ubuntu 외부접속 허용 설정 - 터미널 접속, 리눅스 명령어로 수행 - cd..

not-null.tistory.com

3) 1) js 파일을 AWS에 그대로 입력하여 node app.js 결과 확인

 

4) [nodejs] forever 이용하여 서버 종료되지 않게 하기 (https://not-null.tistory.com/8)

 

forever (서버가 죽어도 계속 살아있기)

학습동기 : AWS에 API를 node app.js로 실행하다가 putty의 session을 끊으면 프로세스도 죽어버림. - 이를 forever로 살려두었다. forever는 node.js서버가 죽어도 계속 살게 해준다. --------------------------..

not-null.tistory.com

 

현재. 멘토링에서 API를 직접 제공하여, 데이터를 가져올 수록 제공 중..

댓글

Designed by JB FACTORY