우

node.js 설치하기

· 2011-12-07 (수) 02:40:58 · 3908 · 1
밑에 글도 있고 해서, 그냥 두려다 적어봅니다.
centos 5.x대에서 설치한 것이고요.
테스트시에는 돌아다니는 소스로 돌린것 같습니다.

설치시 그냥 참조만 하세요.

==========================================================

# ./configure
Checking for program g++ or c++          : not found 
Checking for program icpc                : not found 
Checking for program c++                 : not found 
/home/demo_utf/html/node-v0.4.11/wscript:232: error: could not configure a cxx compiler!

# yum install gcc-c++.i386 <== 이거 설치하면 의존성 에러는 해결된다.


# ./configure
Checking for program g++ or c++          : /usr/bin/g++ 
Checking for program cpp                 : /usr/bin/cpp 
Checking for program ar                  : /usr/bin/ar 
Checking for program ranlib              : /usr/bin/ranlib 
Checking for g++                         : ok  
Checking for program gcc or cc           : /usr/bin/gcc 
Checking for program ar                  : /usr/bin/ar 
Checking for program ranlib              : /usr/bin/ranlib 
Checking for gcc                         : ok  
Checking for library dl                  : yes 
Checking for openssl                     : yes 
Checking for library util                : yes 
Checking for library rt                  : yes 
--- libeio ---
Checking for library pthread             : yes 
Checking for function pthread_create     : yes 
Checking for function pthread_atfork     : yes 
Checking for futimes(2)                  : yes 
Checking for readahead(2)                : yes 
Checking for fdatasync(2)                : yes 
Checking for pread(2) and pwrite(2)      : yes 
Checking for sendfile(2)                 : yes 
Checking for sync_file_range(2)          : no 
--- libev ---
Checking for header sys/inotify.h        : yes 
Checking for function inotify_init       : yes 
Checking for header sys/epoll.h          : yes 
Checking for function epoll_ctl          : yes 
Checking for header port.h               : not found 
Checking for header poll.h               : yes 
Checking for function poll               : yes 
Checking for header ['sys/types.h', 'sys/event.h'] : not found 
Checking for header sys/queue.h                    : yes 
Checking for function kqueue                       : not found 
Checking for header sys/select.h                   : yes 
Checking for function select                       : yes 
Checking for header sys/eventfd.h                  : not found 
Checking for SYS_clock_gettime                     : yes 
Checking for library rt                            : yes 
Checking for function clock_gettime                : yes 
Checking for function nanosleep                    : yes 
Checking for function ceil                         : yes 
Checking for fdatasync(2) with c++                 : yes 
'configure' finished successfully (4.517s)

# make

# make install
Waf: Entering directory `/home/demo_utf/html/node-v0.4.11/build'
DEST_OS: linux
DEST_CPU: ia32
Parallel Jobs: 1
Product type: program
* installing deps/libeio/eio.h as /usr/local/include/node/eio.h
* installing deps/v8/include/v8stdint.h as /usr/local/include/node/v8stdint.h
* installing deps/v8/include/v8.h as /usr/local/include/node/v8.h
* installing deps/v8/include/v8-preparser.h as /usr/local/include/node/v8-preparser.h
* installing deps/v8/include/v8-debug.h as /usr/local/include/node/v8-debug.h
* installing deps/v8/include/v8-profiler.h as /usr/local/include/node/v8-profiler.h
* installing deps/v8/include/v8-testing.h as /usr/local/include/node/v8-testing.h
* installing deps/libev/ev.h as /usr/local/include/node/ev.h
* installing build/default/config.h as /usr/local/include/node/config.h
* installing src/node.h as /usr/local/include/node/node.h
* installing src/node_object_wrap.h as /usr/local/include/node/node_object_wrap.h
* installing src/node_buffer.h as /usr/local/include/node/node_buffer.h
* installing src/node_events.h as /usr/local/include/node/node_events.h
* installing src/node_version.h as /usr/local/include/node/node_version.h
* installing doc/node.1 as /usr/local/share/man/man1/node.1
* installing tools/node-waf as /usr/local/bin/node-waf
* installing tools/wafadmin/Configure.py as /usr/local/lib/node/wafadmin/Configure.py
* installing tools/wafadmin/ansiterm.py as /usr/local/lib/node/wafadmin/ansiterm.py
* installing tools/wafadmin/Build.py as /usr/local/lib/node/wafadmin/Build.py
* installing tools/wafadmin/Constants.py as /usr/local/lib/node/wafadmin/Constants.py
* installing tools/wafadmin/Logs.py as /usr/local/lib/node/wafadmin/Logs.py
* installing tools/wafadmin/Runner.py as /usr/local/lib/node/wafadmin/Runner.py
* installing tools/wafadmin/Node.py as /usr/local/lib/node/wafadmin/Node.py
* installing tools/wafadmin/py3kfixes.py as /usr/local/lib/node/wafadmin/py3kfixes.py
* installing tools/wafadmin/Task.py as /usr/local/lib/node/wafadmin/Task.py
* installing tools/wafadmin/__init__.py as /usr/local/lib/node/wafadmin/__init__.py
* installing tools/wafadmin/pproc.py as /usr/local/lib/node/wafadmin/pproc.py
* installing tools/wafadmin/TaskGen.py as /usr/local/lib/node/wafadmin/TaskGen.py
* installing tools/wafadmin/Utils.py as /usr/local/lib/node/wafadmin/Utils.py
* installing tools/wafadmin/Options.py as /usr/local/lib/node/wafadmin/Options.py
* installing tools/wafadmin/scripting.py as /usr/local/lib/node/wafadmin/scripting.py
* installing tools/wafadmin/Environment.py as /usr/local/lib/node/wafadmin/Environment.py
* installing tools/wafadmin/Tools/xlcxx.py as /usr/local/lib/node/wafadmin/Tools/xlcxx.py
* installing tools/wafadmin/Tools/dmd.py as /usr/local/lib/node/wafadmin/Tools/dmd.py
* installing tools/wafadmin/Tools/gas.py as /usr/local/lib/node/wafadmin/Tools/gas.py
* installing tools/wafadmin/Tools/python.py as /usr/local/lib/node/wafadmin/Tools/python.py
* installing tools/wafadmin/Tools/d.py as /usr/local/lib/node/wafadmin/Tools/d.py
* installing tools/wafadmin/Tools/gxx.py as /usr/local/lib/node/wafadmin/Tools/gxx.py
* installing tools/wafadmin/Tools/preproc.py as /usr/local/lib/node/wafadmin/Tools/preproc.py
* installing tools/wafadmin/Tools/gcc.py as /usr/local/lib/node/wafadmin/Tools/gcc.py
* installing tools/wafadmin/Tools/gob2.py as /usr/local/lib/node/wafadmin/Tools/gob2.py
* installing tools/wafadmin/Tools/config_c.py as /usr/local/lib/node/wafadmin/Tools/config_c.py
* installing tools/wafadmin/Tools/osx.py as /usr/local/lib/node/wafadmin/Tools/osx.py
* installing tools/wafadmin/Tools/ccroot.py as /usr/local/lib/node/wafadmin/Tools/ccroot.py
* installing tools/wafadmin/Tools/icc.py as /usr/local/lib/node/wafadmin/Tools/icc.py
* installing tools/wafadmin/Tools/winres.py as /usr/local/lib/node/wafadmin/Tools/winres.py
* installing tools/wafadmin/Tools/gnu_dirs.py as /usr/local/lib/node/wafadmin/Tools/gnu_dirs.py
* installing tools/wafadmin/Tools/xlc.py as /usr/local/lib/node/wafadmin/Tools/xlc.py
* installing tools/wafadmin/Tools/icpc.py as /usr/local/lib/node/wafadmin/Tools/icpc.py
* installing tools/wafadmin/Tools/intltool.py as /usr/local/lib/node/wafadmin/Tools/intltool.py
* installing tools/wafadmin/Tools/cxx.py as /usr/local/lib/node/wafadmin/Tools/cxx.py
* installing tools/wafadmin/Tools/misc.py as /usr/local/lib/node/wafadmin/Tools/misc.py
* installing tools/wafadmin/Tools/nasm.py as /usr/local/lib/node/wafadmin/Tools/nasm.py
* installing tools/wafadmin/Tools/__init__.py as /usr/local/lib/node/wafadmin/Tools/__init__.py
* installing tools/wafadmin/Tools/suncxx.py as /usr/local/lib/node/wafadmin/Tools/suncxx.py
* installing tools/wafadmin/Tools/compiler_d.py as /usr/local/lib/node/wafadmin/Tools/compiler_d.py
* installing tools/wafadmin/Tools/ar.py as /usr/local/lib/node/wafadmin/Tools/ar.py
* installing tools/wafadmin/Tools/suncc.py as /usr/local/lib/node/wafadmin/Tools/suncc.py
* installing tools/wafadmin/Tools/node_addon.py as /usr/local/lib/node/wafadmin/Tools/node_addon.py
* installing tools/wafadmin/Tools/unittestw.py as /usr/local/lib/node/wafadmin/Tools/unittestw.py
* installing tools/wafadmin/Tools/compiler_cc.py as /usr/local/lib/node/wafadmin/Tools/compiler_cc.py
* installing tools/wafadmin/Tools/compiler_cxx.py as /usr/local/lib/node/wafadmin/Tools/compiler_cxx.py
* installing tools/wafadmin/Tools/gdc.py as /usr/local/lib/node/wafadmin/Tools/gdc.py
* installing tools/wafadmin/Tools/cc.py as /usr/local/lib/node/wafadmin/Tools/cc.py
* installing tools/wafadmin/Tools/libtool.py as /usr/local/lib/node/wafadmin/Tools/libtool.py
* installing build/default/tools/nodejs.pc as /usr/local/lib/pkgconfig/nodejs.pc
* installing build/default/node as /usr/local/bin/node
* installing build/default/src/node_config.h as /usr/local/include/node/node_config.h
Waf: Leaving directory `/home/demo_utf/html/node-v0.4.11/build'
'install' finished successfully (0.361s)


# whereis node
node: /usr/local/bin/node /usr/local/lib/node

# vi helloworld.js

// helloworld1.js
var sys = require("sys")
setTimeout(function() {
    sys.puts("world");
}, 2000);
sys.puts("hello");


# node helloworld.js 
hello
world



# vi helloworld2.js

puts = require("sys").puts;
 
setInterval(function() {
    puts("hello");
}, 500);
 
process.addListener("SIGINT", function() {
    puts("good-bye");
    process.exit(0);
});

# node helloworld2.js
hello
hello
hello
hello
hello
hello
.......

500개가 찍히게 된다.


TCP 서버 구현

# vi tcp_test.js

var tcp = require("net");
 
var s = tcp.createServer();
s.addListener("connection", function(c) {
    c.write("hello!");
    c.end();
});
 
s.listen(8000);

8000 포트에서 대기상태로 있게 된다.

# node tcp_test.js

그리고 브라우저에서 http://localhost:8000/ 로 접속하면 hello가 찍히게 된다.

|

댓글 1개

2011-12-07 (수) 12:26:02
최신버전은 2011.12.04일자 v0.6.5 이네요.
설치법은 동일.
댓글을 작성하시려면 로그인이 필요합니다.

프로그램

8,188건
+
제목 글쓴이 날짜 조회
12-04-10 조회 3,914
12-04-06 조회 5,351
12-04-06 조회 3,125
12-04-04 조회 4,221
12-04-02 조회 3,518
12-03-30 조회 3,461
12-03-29 조회 6,010
12-03-28 조회 3,352
12-03-28 조회 4,281
12-03-27 조회 4,559
12-03-23 조회 3,761
12-03-21 조회 3,474
12-03-20 조회 3,285
12-03-18 조회 3,136
12-03-15 조회 3,300
12-03-12 조회 3,363
12-03-12 조회 3,291
12-03-08 조회 3,636
12-03-03 조회 3,715
12-03-03 조회 3,262
12-02-29 조회 3,547
12-02-28 조회 3,543
12-02-28 조회 3,368
12-02-28 조회 3,491
12-02-27 조회 3,910
12-02-27 조회 3,343
12-02-24 조회 3,476
12-02-24 조회 3,385
12-02-23 조회 3,683
12-02-20 조회 3,686
12-02-20 조회 4,073
12-02-17 조회 4,053
12-02-16 조회 3,231
12-02-15 조회 3,504
12-02-15 조회 3,567
12-02-14 조회 3,549
12-02-08 조회 3,502
12-02-06 조회 3,469
12-02-06 조회 3,889
12-01-25 조회 4,126
12-01-21 조회 4,037
12-01-20 조회 6,146
12-01-15 조회 3,642
12-01-15 조회 3,601
12-01-14 조회 3,497
12-01-14 조회 3,641
12-01-14 조회 3,367
12-01-12 조회 4,096
12-01-12 조회 4,269
12-01-10 조회 3,566
12-01-10 조회 4,391
12-01-09 조회 3,742
12-01-08 조회 6,992
12-01-08 조회 3,210
12-01-07 조회 3,560
12-01-06 조회 3,568
12-01-04 조회 3,723
12-01-03 조회 3,565
12-01-02 조회 3,966
12-01-02 조회 3,148
12-01-01 조회 4,089
12-01-01 조회 3,431
11-12-31 조회 3,684
11-12-31 조회 3,806
11-12-31 조회 3,627
11-12-30 조회 3,861
11-12-30 조회 5,040
11-12-30 조회 4,147
11-12-30 조회 4,306
11-12-30 조회 3,768
11-12-30 조회 3,491
11-12-30 조회 3,502
11-12-29 조회 3,239
11-12-22 조회 3,468
11-12-21 조회 3,417
11-12-20 조회 3,661
11-12-15 조회 5,438
11-12-15 조회 4,439
11-12-14 조회 5,484
11-12-12 조회 3,662
11-12-03 조회 3,428
11-11-26 조회 3,597
11-11-19 조회 3,732
11-11-01 조회 3,087
11-10-23 조회 2,722
11-10-21 조회 2,757
11-10-15 조회 3,160
11-10-15 조회 2,894
11-10-15 조회 3,565
11-10-15 조회 2,788
11-10-14 조회 2,825
11-10-13 조회 2,609
11-10-11 조회 2,854
11-10-10 조회 2,692
11-09-30 조회 3,541
11-09-30 조회 2,987
11-09-29 조회 4,823
11-09-29 조회 2,647
11-09-23 조회 2,689
11-09-16 조회 3,030