새로운 강의는 이제 https://memi.dev 에서 진행합니다.
memi가 Vue & Firebase로 직접 만든 새로운 사이트를 소개합니다.

바로가기


NEMV 4 - node.js & express & mongoDB 설치

2 분 소요

이 강좌는 종료되었습니다.
새로운 강좌로 시작하세요~
모던웹(NEMV) 제작 강좌

node.js

node.js는 현재 목적에서는 javascript언어로 제작가능한 서버 정도가 되겠다..

하지만 노드를 서버로 국한시키는 것은 말도 안되는 이야기다..

예전에 ARM 기반 임베디드 리눅스로 노드가 한 일은 아래와 같다.. by artik : https://www.artik.io

  • 웹서버
  • RS232로 lcd monitor 출력
  • mariadb
  • tcp client/server
  • linux command(eg: $ reboot)
  • bluetooth : beacon search

노드는 다양한 플랫폼에서 돌아가는 프레임워크라고 보는게 맞다. 아래의 다운로드 링크를 보면 다양한 플랫폼에서 돌아가게 되어있다..

더 자세한 것은 구글링하여 말재주가 화려한 사이트에서 확인해본다..

어떤 CPU든, 어떤 OS든 손쉽게 다양한 어플리케이션(꼭 서버가 아닌..)을 작성할 수 있는 것이다.

https://nodejs.org/en/download/

이중 안정적인 LTS(Long Term Support)버전을 깔면된다.

리눅스 서버를 사용하고 있다면 패키지매니저를 통해 설치하는 것이 편리하다. 아래에서 확인해본다.

https://nodejs.org/en/download/package-manager/

npm은 패키지 설치 매니저인데 왠만한 것들은 npm을 이용해 죄다 깔 수가 있다.. node가 클 수 있었던건 아마도 npm일듯하다. 방대한량의 자료들을 보라.. https://www.npmjs.com

노드를 윈도우에 깔던 맥에 깔던 리눅스에 깔던 고맙게 패스 다잡아주기 때문에 node가 잘 깔린지는 터미널 열어서 간단히 확인해보면 된다.

node -v
npm -v

설치는 너무 쉬운 것이라 구체적인 설명 패스하는데 간혹 임베디드 리눅스에서 문제가 생길 수 있다.
그때는 npm을 먼저 깔고 n이라는 모듈(npm install n -g) 를 이용하면된다.. 더 자세한건 검색

express

노드의 웹애플리케이션 모듈이다.

한글 매뉴얼을 제공하고 있고 설치도 쉽다..

http://expressjs.com/ko/

자바 친구 스프링, 파이썬 친구 장고, 루비 친구 레일, 그리고 노드 친구 익스프레스가 있다..
웹서버기능은 물론이며 직관적인 라우팅 설계가 가능하기 때문에 RESTful한 서버가 거저 만들 수 있다.

뭐든 새롭게 시작할때 고민하는 것은.. 시작을 어떻게 할 것이냐인데.. 바로 그것이 진입장벽이되어 추진력을 잃게 만든다..

그래서 있는 것이 generator! 프로젝트를 어떻게 구성할지 css는 어따 놓을 지, router들은 어떻게 모듈로 나눌 껀지 모두 다! 골격을 만들어 놓으셨다..

express-generator 전역설치

$ sudo npm install express-generator -g

기존에 git에 만들어두었던 nem을 nemv로 이름 변경하였다.

alt repo

앞전에 만든 nemv dir 밖에서 아래 실행한다. 비어있지 않기 때문에 y를 누르자

$ express --view=pug nemv
destination is not empty, continue? [y/N] y

   create : nemv
   create : nemv/package.json
   create : nemv/app.js
   create : nemv/public
   create : nemv/routes
   create : nemv/routes/index.js
   create : nemv/routes/users.js
   create : nemv/views
   create : nemv/views/index.pug
   create : nemv/views/layout.pug
   create : nemv/views/error.pug
   create : nemv/bin
   create : nemv/bin/www
   create : nemv/public/javascripts
   create : nemv/public/stylesheets
   create : nemv/public/stylesheets/style.css

   install dependencies:
     $ cd nemv && npm install

   run the app:
     $ DEBUG=nemv:* npm start

   create : nemv/public/images

nemv/package.json에 적혀있는 종속항목을 설치하자

$ cd nemv
$ npm install
npm notice created a lockfile as package-lock.json. You should commit this file.
added 114 packages in 5.066s

이제 실행해본다

$ DEBUG=nemv:* npm start
> nemv@0.0.0 start /Users/fkkmemi/WebstormProjects/nemv
> node ./bin/www

  nemv:server Listening on port 3000 +0ms

웹브라우저에서 http://localhost:3000 를 눌러본다..

아래 그림이 떳다면 성공..

alt hello world!

아파치니 iis니도 없이 그냥 웹이 떠억 나왔다.. 간만에 다시봐도 놀라운 간결함..

더 자세한 것은 아래 링크를 눌러서 확인해보면다.

http://expressjs.com/ko/starter/generator.html

mongoDB

설치 및 설명은 이전 링크를 참고한다. 1편 : shard 구성

위 링크는 샤딩에 대한 내용이라 사실 아래의 링크를 보고 따라하는 것이 낫다

https://www.mongodb.com/download-center#community

설치는 너무 쉬워서 패스..

댓글남기기