웹소켓을 설치하려고 참 별짓을 다했습니다. jetty7쪽으로 방향을 잡았다가 웹소켓 서버 구현은 Node.JS가 효율적이라는 말에 솔깃하여 RPM으로 설치한 JDK, Jetty서버 다 지워버리고 안정적이라는 node-v0.4.10.tar.gz 받아서 압축풀고 빌드하고 npm(Node Package Manager)으로 수많은 모듈들 설치했습니다. "hello world" 예제까지 성공하고 한참을 가져놀다 보니, 우연히 nvm(Node Version Manager)을 발견 헐, 이녀석 Node.JS를 버전별로 설치하고 순식간에 스위칭할수 있게하는 아주 편리한 녀석이더군요. 이 녀석이 마음에 들어 써먹어 보려고 했더니, Node.JS가 이미 여러개 생겨버려서 어찌할 수 없는 상태가 되어버렸습니다. 나중에 한 번 밀어야 겠어요. 웹소켓 구현은 크로스-브라우저를 지원하는 Socket.IO를 사용하기로 했습니다. Node.JS 설치한 김에 그 뻑간다는 Cloud9도 설치해 보았습니다. 이녀석 완전 먹어주더군요. 리얼타임 웹의 미래를 살짝 엿볼 수 있었습니다. 자 이제 여기까지의 과정을 정리해 보겠습니다.
nvm으로 Node.js 설치
# git clone git://github.com/creationix/nvm.git ~/.nvm
# . ~/.nvm/nvm.sh
# nvm sync
# nvm install stable
# use stable
Socket.IO를 이용한 채팅 예제와 관련 모듈 설치
# npm install socket.io
# npm install express
# npm install stylus
# npm install nib
# npm install jade
# git clone git://github.com/LearnBoost/socket.io.git
# cd socket.io/examples/chat
# node app.js
Node.JS 애플리케이션을 서비스에 등록하기
# npm install forever -g
# forever start app.js
아래는 위 과정에서 만들어진 채팅예제입니다.
Please type in your nickname and press enter.
Nickname already in use
그리고 cloud9 설치
# npm install cloud9
# git clone git://github.com/ajaxorg/o3.git
# cd o3
# ./tools/node_modules_build
# sudo cp build/default/o3.node ~{cloud9path}/support/jsdav/support/node-o3-xml/lib/o3-xml/
# cd {cloud9path}
# node bin/cloud9.js -c config.js
Comments
Got something to add? You can just leave a comment.
RT @firejune: Node.js와 Socket.IO를 이용한 웹채팅 http://firejune.com/1683
from twitter
RT @firejune: Node.js와 Socket.IO를 이용한 웹채팅 http://firejune.com/1683
from twitter
id4tweet: Node.js와 Socket.IO를 이용한 웹채팅: 웹소켓을 설치하려고 참 별짓을 다했습니다. jetty7쪽으로 방향을 잡았다가 웹소켓 서버 구현은 Node.js가 효율적이라는 말에 솔깃하여 R... http://firejune.com/1683
from twitterfeed
shimdh: Node.js와 Socket.IO를 이용한 웹채팅 http://feedly.com/k/oiCd9h
from feedly
RT @firejune: Node.js와 Socket.IO를 이용한 웹채팅 http://firejune.com/1683
from Osfoora for iOS
@firejune 파이어준 님, 혹시 메일을 받지 못하셨나요? 아무런 말씀 없으셔서.
from twitter
@davinchi4 아 네... 죄송합니다. 최근 수개월간 회사 업무에 시달리느라 개인메일은 신경쓸 겨를 조차 없었습니다. 확인후 회신 드리겠습니다.
from TwitBird
@firejune 아이고..정말 죄송합니다. 요 며칠사이의 블로그 등을 통해 미루어보건데 엄청 바쁘셨던것 같습니다..^^;
from twitter
RT @firejune: Node.js와 Socket.IO를 이용한 웹채팅 http://firejune.com/1683
from twtkr for iPhone
RT @firejune: Node.js와 Socket.IO를 이용한 웹채팅 http://firejune.com/1683
from twtkr for iPhone
use stable
nvm use stable 로 해야 되는거 같아요~ ^^;
reply edit
forever를 이용한 서비스 node.js 서비스 등록 시
forever start bin/cloud9.js -c config.js 라고 실행하면,
info: Running action: start
info: Forever processing file: start
info: Forever using command: undefined
error: Cannot start forever
error: script ${CLOUD9_HOME}/start does not exist.
와 같이 오류가 발생하며, 서비스 시작이 안되는데,
다른 선행 작업이 필요한지 알려주세요~
reply edit
forever를 npm install forever -g 옵션으로 설치하고 실행해 보세요.
reply edit
근데... Node.JS라는게 V8이라는 크롬 자바스크립트 엔진에서 돌아간다셨는데... 크롬이라는게 원래 클라이언트 프로그램인데... 서버사이드라는 Node.JS가 돌아가는데 꼭 크롬을 써야 하나요?
reply edit
동일한 자바스크립트 엔진을 사용한 다고해서 크롬 브라우저를 써야하는 것은 아닙니다. Nodejs와 크롬 브라우저는 아무런 상관이 없습니다. 인텔 CPU이니까 Window를 써야함과 논리는 성립되지 않는 것과 같은 이치입니다.
reply edit
그러니까... Node.JS란건... 따지면 자바스크립트를 쉘스크립트처럼 만들어싸다 보면 될까요?
reply edit
Your Reaction Time!