관리 메뉴

nkdk의 세상

node.js 를 시작해 보자. 설치 방법 및 샘플 본문

My Programing/Node.js

node.js 를 시작해 보자. 설치 방법 및 샘플

nkdk 2012. 4. 4. 22:37

이제 node.js 를 시작해 보려 합니다.

트랜드에 조금 뒤쳐졌지만.. 시작해 봅시다.

왜 node.js에 관심을 가지게 되었는가 부터 배경을 설명하면..

간단한 설치 및 유연한 속도 또한 확장성 부분에서 뛰어날 수 있다라는 관점..

특히나 js 를 사용한다는 점.. 시스템을 접근해서 만질 수 있다는 점.. 여러가지 메리트가 있더라고요.

자 그럼 설치 해 보고 시작해 봅시다.

저는 우분투를 사용하기 때문에, 우분투 리눅스 위주로 작성합니다.

설치방법: 일단 apt-get 을 이용해 필요한 요소를 설치 합니다.

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

> sudo apt-get install git-core

기본 설치는 완료 했고요.

이제 실제 node.js 라이브러리를 설치 합니다.

nodejs.org 로 가서 최신 버전을 받는다.

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

> cd node-v0.6.14

> ./configure

> make

> sudo make install

샘플코드

 test_node.js 파일을 만드시고

var http = require('http');

http.createServer(function (req, res) {

  res.writeHead(200, {'Content-Type': 'text/plain'});

  res.end('Hello Node.js\n');

}).listen(8282, "127.0.0.1");

console.log('Server running at http://127.0.0.1:8282/');

이렇게 넣으시고.. 커맨드 창에서

> node test_ndoe.js

이렇게 하시고 wget 127.0.0.1:8282 라고 하시면 확인이 가능합니다.

따로 ip 지정 안하시면 외부 웹으로 접근도 가능합니다.:)

그럼 몇 가지 샘플을 한 번 더 볼까요.

hello.js

// helloworld1.js

var sys = require("sys")

setTimeout(function() {

    sys.puts("world");

}, 2000);

sys.puts("hello");


// helloworld_sigint.js

puts = require("sys").puts;

setInterval(function() {

    puts("hello");

}, 500); 

process.addListener("SIGINT", function() {

    puts("good-bye");

    process.exit(0);

});


// hello_tcp.js

var tcp = require("net");

tcp.createServer(function(c) {

     c.write("hello!\n");

    c.end();

 }).listen(8000);


// hello_html.js

var http = require("http");

http.createServer(function(req, res) {

    res.writeHead(200, {"Content-Type": "text/plain"});

    res.write("Hello\r\n");

    res.write("World\r\n");

    res.end();

}).listen(8080);


// hello_stream.js

var http = require("http");

http.createServer(function(req, res) {

    res.writeHead(200, {"Content-Type": "text/plain"});

    res.write("Hel");

    res.write("lo\r\n");

    setTimeout(function() {

        res.write("World\r\n");

        res.end();

    }, 2000);

}).listen(8000);


응용할 만한게 참 많은 것 같다. 재미있네?