Node.js: 1. 소개 & 설치 ( Introduction & Installation )

 

CentOS 에서 Node.js 설치하기

 


1 2

 

Node.js 란? (same Nodejs)

위키피디아 에서는 다음과 같이 소개하고 있다.

3

즉, 서버 side 자바스크립트인 것이다.

웹 개발에서는 언어별로 각 영역이 나뉘어 있다.  Server 측에서 개발이 가능한 언어인 ASP, JSP, PHP 가 있고, Client 측에서 개발 가능한 자바스크립트 같은 언어들이 있다.  그런데 자바스크립트를 서버 측에서 사용할 수 있도록 고안된 것이 Nodejs 이다.

Node.js 는 무엇보다 비동기 I/O ( Asynchronous / Non-blocking ID ) 와 단일 스레드 이벤트 루프를 사용한다.  다시말해서, 이벤트 처리를 위해 코드 중간에서 멈춰 있지 않고 있다는 것을 의미한다. ( 이것은 MFC 의 Message 처리방식과 유사하다고 할 수 있다 )

또한  Nodejs 는 npm( Node Package Manager ) 라는 버전 관리 툴을 가지고 있어서, 자체적으로 사용하는 프로그램 및 라이브러리의 설치가 편하다. ( yum 같은.. )

그 외에는 Google Chrome V8 엔진으로 개발되었고,  Javascript 기반이라 어렵지 않게 서버 사이드 프로그래밍을 가능하게 만들었다.

 

Node.js 설치

Node.js 를 설치하는 방법은 두 가지가 있다.  실행파일을 다운로드 하여 바로 실행하는 방법과, source 를 다운로드 받아 설치하는 방법이다.  두 가지 방법 모두 공식 홈페이지에 들어가서 다운로드 항목으로 이동 후, 해당 OS에 맞는 버전을 다운받으면 된다.

하지만, source를 다운로드 받는 방법을 선택할 경우, 홈페이지에서 다운로드 받는것 보다 git 을 이용하면 다음과 같은 이유로 더욱 편리하다.

  1. Nodejs 가 매번 업데이트 될 때마다 홈페이시에서 새로운 소스를 다운받지 않고, git 명령으로 업데이트 할 수 있다.
  2. 원하는 버전의 Nodejs 를 받아 설치할 수 있다. ( downgrade 를 용이하게 할 수 있다)

 

만약 git 이 설치되어 있지 않다면 git 을 먼저 설치한 후, Nodejs source 를 git 을 통해 다운로드 받자

> yum install -y g++ apache2-utils git git-core curl build-essential openssl libssl-dev libxml2-dev
> git clone https://github.com/nodejs/node.git

 

git 의 checkout 명령어를 이용하여 원하는 버전을 받을 수 있다. 현재 최신 버전은 4.2.2 이다. (2015.11.23기준) source 의 CHANGELOG.md 파일을 열면 현재 source 의 버전을 알 수 있다.

git checkout v4.2.2

 

아래 명령어들을 수행하여 Nodejs 를 설치하자

> ./configure
> make
> make install

 

만약 환경설정 단계에서 (./configure) 컴파일러의 버전이 너무 old 하여 경고가 뜬다면,

2

컴파일러를 업그레이드 시킨 후 설치를 진행하자. (이를 무시하고 진행한다면 다음 단계에서 바로 설치 실패가 뜬다)
컴파일러 업그래이드 방법은 yum 으로 손쉽게 가능하다면 그대로 진행하면 된다.  하지만 centOS 의 버전도 낡아서 진행하는데 어려움이 있다면 다음 글을 참고하자 ~!

CentOS: gcc 업그레이드 하기 ( devtoolset )

 

설치 완료 후 Nodejs 의 버전 확인을 통해 정상설치 여부를 확인할 수 있다.

> node -v

 

* 설치 중 에러가 난다면, 맨 아래에 Trouble Shutting 을 참고하도록 하자

 


참고.

만약, git을 이용하지 않고, 서버에서 binary 파일을 바로 받는다면 다음과 같이 해야 한다. 필자는 centOS 5.11 64bit 환경이기 때문에 Linux Binary 64-bit 을 다운받았다.  https 접속이기 때문에 인증서를 체크 하지 않도록 옵션 “–no-check-certificate” 를 추가한다.

wget --no-check-certificate https://nodejs.org/dist/v4.2.2/node-v4.2.2-linux-x64.tar.gz

 


Trouble shutting

  • “No module named bz2” 에러
      • bz2 설치
    > yum install bzip2-devel
    • python2.7 재설치

 


Ref.

https://nodejs.org/en/

https://github.com/nodejs/node/