AWS에서 nodeJS 설치


출처: http://webframeworks.kr/tutorials/nodejs/api-server-by-nodejs-01/#tocAnchor-1-10


  • NodeJS 대해
    자바스크립트 엔젠에는 크롬에서 사용하는 V8, 사파리에서 사용하는 Webkit, 파이어폭스에서 사용하는 SpikerMonky등이 있음.
    이러한 엔진 중에 구글에서 만든 V8 엔진이 노드에서 사용하는 자바스크립트 엔진이다.
    Ryan Dahl
    이라는 사람은 V8 엔진에 이벤트 I/O 프레임웤과 CommonJS명세를 이용한 모듈을 결합하여 Node.js 만들었음.
  • 설치
    $ sudo apt-get update

    $ sudo apt-get install nodejs

    $ sudo apt-get install npm

  • NPM
    npm
    노드로 만든 패키지를 관리하는 툴이고 “Node Package Manager” 약자이다.
    우리는 npm 몇가지 기능을 이용해서 프로젝틀글 진행 할것이다. 우선 우리가 만들 프로젝트 폴더를 만들고 거기에 npm으로 프로젝트를 초기화 한다.

    $ npm init

몇가지 물어보는 일단은 엔터를 입력하면서 기본값을 사용한다고 답변하면 된다.

모두 완료하면 위의 그림 처럼 package.json 생성된다.


  • nodejs.org 사이트로 이동한다.
    웹서버를 만들수 있는 간단한 코드를 제공하는데 이것을 복사하여 우리 프로젝트 폴더의 app.js 파일로 만든다.

    app.js


$  node app.js

npm 이요해서 프로젝트를 관리하려면 package.json 파일에 스크립트를 등록해 주는 것이 좋음

start라는 스크립트를 만들어 보자.(npm init 하면서 만들어진 package.json 수정한다.)


~/Documents/tutorial/package.json



$ npm start



  • Curl 리퀘스트 보내기
    브라우저는 내부적으로 GET http://127.0.0.1:3000 요청을 보내서 결과를 화면에 뿌려주는 역할을 .
    http
    요쳥은 외에도 헤더에 다양한 정보를 담아서 보낼수 있는데 브라우저는 모든 정보를 설정하기에는 기능이 제한적이다.

    구체적인 요청을 위해 앞으로는 curl 이란 프로그램을 사용할 .
    아래 명령어로 다시 서버에 요청을 보내본다.

    터미널에서 aws EC2 접속한 다음
    $ npm start

vscode terminal ( VSCode 아니어도 그냥 aws 접속되어 있는 어느 곳이든)에서 


$ curl -X GET ’127.0.0.1:3000’


다음과 같이 Hello World! 출력되는 것을 있다.


**백그라운드에서 Server 돌리고 싶다면 HashtagPlayer_개발 에서 잡업로그 섹션에 백그라운드로 서버를 실행시키는 방법이 적혀 있음


다음은 -v  옵션을 추가하여 명령어를 실행 해본다.

$ curl -X GET ’127.0.0.1:3000’


다음과 같이 출력이 되는 것을 있다.




  • 익스프레스를 사용하는 이유
    익스프레스는 노드를 만든 패키지의 일종이다. 서버를 만들기위한 것이라고 있음.

    자세한 사용법은 http://expressjs.com/ 나와 있음.

    그런데 질문. API서버를 만드는데 익스프레스를 사용하려는 것일까?
    ->
    우리가 만들 API 서버에 대해 다시 생각해보자. 서버는 클라이언트의 어떠한 요청이 있을 경우 서버에서 자원을 처리한뒤 결과를 다시 클라이언트로 보내줌. 클라이언트는 서버에게 요청할 API라는 것을 통해서 요청할수 있는데 어떤 일정한 규칙이 있어야 .
    한국사람이 중국 타오바오에 전화해서 한국말로 지껄일수는 없기 때문

    클라이언트와 서버는  HTTP라는 규칙을 이용해서 서로 통신하게 . 웹에서도 HTTP 이용해 페이지를 주고 받음. 익스프레스가 프레임워크이긴 하지만 HTTP기반의 API서비스를 개발하는 것이기 때문에 API서버에서도 사용하는

    또한 프레임워크를 사용하게 되면 노드로만 코드를 작성하는 보다는 훨씬 빠른시간에 효율적으로 서버를 개발할수 있는 이점도 있음.
  • express 설치
    익스프레스도 일종의 노드 패키지이기 때문에 npm으로 설치할 있음.

    $ npm install express —save
  • expcress Hello world 변경하기
    기존의 app.js express 패키지를 이용해서 만들어 본다.





+ Recent posts