새로운 강의는 이제 https://memi.dev 에서 진행합니다.
memi가 Vue & Firebase로 직접 만든 새로운 사이트를 소개합니다.
NEMV 4 - node.js & express & mongoDB 설치
이 강좌는 종료되었습니다.
새로운 강좌로 시작하세요~
모던웹(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
노드의 웹애플리케이션 모듈이다.
한글 매뉴얼을 제공하고 있고 설치도 쉽다..
자바 친구 스프링, 파이썬 친구 장고, 루비 친구 레일, 그리고 노드 친구 익스프레스가 있다..
웹서버기능은 물론이며 직관적인 라우팅 설계가 가능하기 때문에 RESTful한 서버가 거저 만들 수 있다.
뭐든 새롭게 시작할때 고민하는 것은.. 시작을 어떻게 할 것이냐인데.. 바로 그것이 진입장벽이되어 추진력을 잃게 만든다..
그래서 있는 것이 generator! 프로젝트를 어떻게 구성할지 css는 어따 놓을 지, router들은 어떻게 모듈로 나눌 껀지 모두 다! 골격을 만들어 놓으셨다..
express-generator 전역설치
$ sudo npm install express-generator -g
기존에 git에 만들어두었던 nem을 nemv로 이름 변경하였다.
앞전에 만든 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 를 눌러본다..
아래 그림이 떳다면 성공..
아파치니 iis니도 없이 그냥 웹이 떠억 나왔다.. 간만에 다시봐도 놀라운 간결함..
더 자세한 것은 아래 링크를 눌러서 확인해보면다.
http://expressjs.com/ko/starter/generator.html
mongoDB
설치 및 설명은 이전 링크를 참고한다. 1편 : shard 구성
위 링크는 샤딩에 대한 내용이라 사실 아래의 링크를 보고 따라하는 것이 낫다
https://www.mongodb.com/download-center#community
설치는 너무 쉬워서 패스..
댓글남기기