환경 : NodeJS v0.8.6, Mac OSX Lion


# Express Module

다음 명령어를 통해 express 를 설치하자.

 sudo npm install -g express 

-g 로 설치하면 /usr/local/bin/ 에 설치 되고, -g 없이 설치하면 현재 폴더에 node_module 폴더에 다운이 된다.


설치가 되면 express 명령어를 통해 프로젝트 폴더를 만든다.

 express [폴더명]           ex) express test


그럼 다음과 같은 화면을 통해 test라는 폴더가 생긴다.


test 파일 내부 구조를 보면, 다음과 같다.

이 프로젝트가 일단 잘 돌아가는지 확인해보려면,

폴더안에서 다음 2가지 모듈을 설치한다.

 npm install express 

 npm install jade  

모듈설치가 끝나면,

 node app.js 

위 명령어를 통해 NodeJS를 실행하고 브라우져에서 http://localhost:3000 을 쳐본다.

그럼 다음과 같은 화면을 통해 localhost 접근을 할 수 있다는 것이 보여진다.




# localhost/index.html

여기서 localhost라는 주소를 만들고 싶다면? 

1. Eclipse의 Dynamic Project와 Tomcat을 이용하여 localhost 만들기

2. NodeJS Express 를 이용하여 localhost 만들기

3. MAMP 를 이용하여 localhost 띄우기

추가적으로 여러가지 방법이 있겠지만, 제가 활용하던 방법은 위 3가지가 있다.


하지만 필자는 Eclipse가 너무 느려서 하기싫고, MAMP는 프로그램을 또 설치해야한다.

따라서 가볍고 쉬운 Express를 주로 이용하게 되는데 위쪽에서는 localhost:3000 이었다. 이것을 바꾸는 방법은?


위에서 프로젝트를 생성하고 난 후 app.js 파일을 확인하자.

위에서 볼 수 있듯이 3000 포트를 사용한다.

간단하게 필자가 변형해 보았는데, 2가지를 필요로 만들었다.

1. 포트는 3000번이 아닌 80번을 사용한다.

2. public 안에 index.html을 사용한다.


# Example #


var express = require('express')

  , routes = require('./routes')

  , http = require('http')

  , fs = require('fs')

  , path = require('path');


var app = express();


app.configure(function(){

  app.set('port', process.env.PORT || 80);

  app.use(express.favicon());

  app.use(express.logger('dev'));

  app.use(express.bodyParser());

  app.use(express.methodOverride());

  app.use(app.router);

  app.use(express.static(path.join(__dirname, 'public')));

});


app.configure('development', function(){

  app.use(express.errorHandler());

});


app.get('/', routes.index);


http.createServer(app).listen(app.get('port'), function(){

  console.log("Express server listening on port " + app.get('port'));

});

 

이것을 이용하여 활용 할때에는 이전에 있던 public 폴더를 지운다.

그리고 심볼릭 링크를 이용하여 연결시킨다.

# 심볼링 링크 거는 방법

 ln -s [실제경로] [가상경로]                ex) ln -s ../testfolder/ public

심볼릭 링크의 장점은 가상으로 경로를 연결시키므로 실제경로에 있는 파일들이 가상경로 하위에도 보여지게 된다. 가상경로 안에서 수정을 하면 실제경로에 있는 파일들이 수정이 되고, 심볼릭링크를 삭제하면 가상폴더만 삭제될뿐 실제경로에는 아무런 피해가 없다.

위와 같이 public 폴더 아이콘에 보면 화살표 표시가 나면서 심볼릭 링크를 볼 수 있다. 

이제 app.js 를 실행해야 하는데, 여기서 주의할 점은 맥에서 일반사용자는 80번포트를 사용할 수 없기때문에 sudo 명령어를 추가하여 root 권한을 가져야한다.

 sudo node app.js 

그럼 다음과 같은 화면을 볼 수 있다. public 내부에 있는 파일은 Sencha SDK를 통해 만든 기본프로젝트이다.


'Back-End > NodeJS' 카테고리의 다른 글

NodeJS 설치  (0) 2012.10.28
NodeJS 설치 Back-End/NodeJS 2012. 10. 28. 14:33

설치환경 : Ubuntu 11.04 64bit



1. 다운로드


아래와 같은 명령어를 통해 다운을 받는다.

 wget http://nodejs.org/dist/v0.6.8/node-v0.6.8.tar.gz 


Version 을 바꾸고 싶다면?

http://nodejs.org/dist 에 접속하면 다른버전이 어떤것들이 있는지 확인 할 수 있다.



위 그림을 보고 v0.9.3을 다운받고 싶다면, 


 wget http://nodejs.org/dist/v0.9.3/node-v0.9.3.tar.gz 



필자는 v0.8.6 으로 이전에 설치 했다.



2. 설치하기


압축을 풀어야한다.  

tar xvzf node-v0.9.3.tar.gz 


압축 푼 폴더로 접속 

 cd node-v0.9.3 


접속 후 다음 명령어로 설치하자.

 ./configure 

 make 

 sudo make install  


 node --version  으로 설치 되었는지 버전을 확인해보자.



혹시 필요한 패키지 설치가 안된경우

 sudo apt-get install g++ curl libssl-dev apache2-utils 





3. 실행해보기


다음 예제파일을 example.js 로 저장시키자.


그리고 실행하는 방법은,

 node example.js 



위와 같은 화면을 볼 수 있다.


그럼 내부 브라우저를 통하거나 외부 브라우저를 통해서 접속해보자. 필자는 Ubuntu Server 버전이기 때문에 GUI가 지원되지 않으므로 외부 컴퓨터에서 접속을 해보도록 하겠다.



위와 같은 결과화면을 볼 수 있으며, ip주소가 예를들어 127.0.0.1 이라면 주소창에 127.0.0.1:3000 으로 접속이 가능하다.


혹시나 node example을 정지하려고 한다면,

"Ctrl + C" 를 누르면 nodejs를 실행했던 것을 정지시킨다. 

저처럼 리눅스계열을 사용하는게 아니라면.. 윈도우 혹은 맥을 쓰신다면.. 이렇게 힘들게 설치 할 필요없이

http://www.nodejs.org/ 에 들어가면 설치 파일을 받을 수 있다. 


'Back-End > NodeJS' 카테고리의 다른 글

Express 모듈을 이용한 localhost 만들기  (1) 2012.11.08