node.js 란? 크롬의 V8 JavaScript 엔진을 이용한 서버사이드 스크립트입니다. 서버사이드(server-sid)는 서버쪽에서 이루어지는 처리를 말합니다. 즉, 자바스크립트로 서버를 손쉽게 만들 수 있는 플랫폼입니다.
node.js의 가장큰 장점은 V8 JavaScript 엔진으로 실행속도도 빠르고, 익숙하고, 쉬운 자바스크립트로 100% 개발할 수 있어서 개발속도도 빠르다는 데에 있습니다. 이 장점들 덕분에 node.js는 단기간에 무수히많은 사용자들과 개발자들을 확보할 수 있었습니다.
node.js를 이용해 만들 수 있는 서버는 아주 무한정합니다. 먼저 기본적인 웹서버부터 시작해서 실시간 게임, 예매, 투표, 알림서버 등... node.js는 자바스크립트로 이런 실시간 서버들을 작성할 수 있게 하는 아주 좋은 놈이지요..
https://nodejs.org/
1. 설치
nodejs 웹 사이트에서 소스파일을 받아 컴파일 설치를 할 수도 있지만, yum으로 간편하게 설치하는 것을 추천합니다.
* 저장소 설치
기본 저장소에는 nodejs 패키지가 없으므로 epel 저장소를 설치해야 yum으로 node.js 설치가 가능합니다.
epel 저장소 설치방법은 https://conory.com/blog/42596 에서 참조하기바랍니다.
* npm 패키지 설치
npm은 node.js 전용 패키지 관리자입니다. 이 도구를 통해 node.js 의 모듈들을 간단하게 설치할 수 있습니다. yum과 비슷한 개념입니다. npm 패키지는 nodejs를 의존 패키지로 가지고 있기때문에 npm 패키지만 설치해도 node.js도 같이 한번에 설치됩니다.
# yum install npm
* 설치확인
아래 명령어를 실행하면 설치된 버전이 뜹니다.
# node -v
# npm -v
2. 간단 사용방법
* node.js 파일 실행
보안상 일반계정으로 js 서버파일을 실행하도록 합니다. (# useradd nodejs)
$ node [js 서버파일]
예) hello.js
$ vi hello.js
console.log("hello");
$ node hello.js
@ node 명령으로 자바스크립트를 즉석으로 실행할 수도 있습니다.
$ node
> console.log("hello")
hello
* npm을 통한 node.js 모듈 설치/제거
npm은 각 node.js 프로젝트 별로 모듈을 설치할 수 있습니다. 모듈이 설치되면 프로젝트 디렉토리에 node_modules 디렉토리가 생성되어 설치됩니다. 때문에 프로젝트별로 필요한 모듈만 설치할 수 있습니다. 이것은 개발시 소스관리가 용이하다는 데 장점이 있습니다.
npm -g 옵션을 붙이면 프로젝트에 모듈을 설치하는 것이 아닌 node.js 전역에 모듈이 설치됩니다. 전역모듈은 /usr/local/lib/node_modules에 설치됩니다. 전역에 설치되면 모든 node.js 프로젝트에서 해당모듈을 사용할 수 있게 됩니다.
항상 프로젝트 디렉토리에 들어가서 모듈을 설치하는 습관을 길려야 개발이 편해집니다.
예) 채팅서버 프로젝트 디렉토리로 이동합니다.
$ cd /home/nodejs/chat
$ npm list : 해당 프로젝트에 설치된 모듈을 표시합니다.
$ npm install : 해당 프로젝트에 필요한 모듈을 설치합니다. 프로젝트 안에 package.json 파일이 있을 경우
$ npm install [모듈이름] : 해당 모듈을 설치합니다.
$ npm install [모듈이름@버전] : 모듈의 특정버전을 설치합니다.
$ npm update [모듈이름] : 해당 모듈을 최신버전으로 업데이트합니다.
$ npm uninstall [모듈이름] : 모듈을 제거합니다.