node.js 를 만지다 보면은 여간 불편한 일이 한두가지가 아니죠.

유닉스 기반의 경우는 처음부터 만들어져서 정말 쉽게 구축할 수 있지만

윈도우는 마소 이후로 이제서야 재대로 활성화되고 있기도 하죠.

오늘 node.js 를 간단하게 구축하는 가이드를 알려 드리도록 하겠습니다.


1. node.js 다운로드

별 말 있나요? 일단 다운받습니다. 이번 11월 4일 드디어 처음으로 윈도우도 안정화(stable) 버전이 나왔습니다.

0.6.0 입니다. node.js는 항상 최신으로 유지하시는 것이 건강에 좋습니다.

node.exe Windows executable


2. node 홈 경로 잡기

일단 중요한 일입니다. 왜냐하면은 node.js 모듈을 손쉽게 관리하기 위한 것이죠. 붙일 경로는 아무곳에나 해도 상관 없습니다.

그리고 저는 포터블 환경을 기준으로 설명하겠습니다. 서버 환경 기준은 끝에 부가적인 설명을 드리겠습니다.

제가 왜 포터블 환경을 고집하냐면 어느 컴퓨터에서든 똑같은 환경에서 개발하기 용이한 장점이 있기 때문이죠.

홈 경로 잡는거는 서버 환경에서도 공통적으로 사용한니 놓치지 마시고. 폴더 구조를 이렇게 잡는 것으로 하겠습니다.

node.js 폴더

  └ bin 폴더

       └ node.exe

  └ node_module 폴더

  └ python 폴더

자, 왜 python 이 있어야 하는가? 라고 궁금해 하시는 분들이 많을텐데요. 다음에 설명해 드리도록 하겠습니다.

이렇게 구조적으로 잡으세요.


3. python 다운로드

설치형도 상관없지만, 저는 포터블을 선호한 탓에 어떤 컴퓨터에서도 돌리는 파이썬 실행 환경을 추천합니다. 

이미 컴퓨터에 설치됐다면, 이 과정은 패스하셔도 무방합니다.

파이썬 포터블 다운로드(HTTP)

어자피 설치를 하면, python.버전.msi 가 있습니다. 서버 환경에서는 이 파일을 실행하면 PATH 환경 변수 등에 등록되어

서버 환경에서 어느 경로에서나 파이썬 스크립트를 돌릴 수 있습니다. 하지만 그 과정은 포터블에서는 불필요하므로 패스.

자. 왜 파이썬을 받는지 4번에 설명드리도록 하겠습니다.


4. ryppi 다운로드

node.js 하면은 패키지 관리자. 비주얼 스튜디오에 nuget 같은 존재, 리눅스의 yum 같은 존재. 바로 npm이 있습니다.

하지만 안타깝게도 npm는 아직 윈도우를 지원하지 않고 있습니다. 제작자는 윈도우에 호환하려면 몇달은 걸린다고 하고 있죠.

아직까지 테스트적인 윈도우 환경에서 npm 돌리는 방법이 있지만, 요구사항이 많고 아직까진 불안정할 수밖에요.

그러나, 이렇게 윈도우 환경에 돌리기 어려울 줄 알았던 패키지 관리 프로그램에 또 하나 있다는 것이 감격스럽습니다.

바로 ryppi 입니다. npm 프로토타입을 파이썬으로 포팅한 ryppi는 아직까지 npm의 많은 기능을 지원하지는 않지만,

node.js 모듈을 손쉽게 받고 업데이트 까지 가능하다는 점에서 한줄기 빛이 일지 아니할 수 없습니다.

https://github.com/japj/ryppi/blob/master/ryppi.py

다운로드 링크 : ryppi.py

파이썬 왜 받아야 하는건지 아시겠죠? 바로 ryppi를 돌리기 위해서입니다.

스크립트 받으시고 node.js 홈 폴더에다 옮기세요.


5. 환경세팅.

이제 마지막 과정이 남았습니다. 바로 node.js 실행화 ryppi 실행인데요.

node.js 폴더에다가 배치 파일을 담고, node.js 샌드박스 환경을 만들어 node.js 를 실행하는 것입니다.

서버에서는 불필요하죠.

이 2가지 파일을 node.js 폴더에 담습니다.

node.cmd ryppi.cmd 

하나는 node.exe 를 아무데서나 실행하도록 도와주고, ryppi.cmd 는 ryppi를 아무데서나 실행되도록 도와줍니다.

서버 환경에서 세팅하려면 node.cmd 는 필요없고 대신,

환경 변수에 NODE_PATH 추가 및 PATH 변수에 경로 추가를 하시면 됩니다.

그렇다고 내컴터 -> 속성 -> 환경변수 -> 추가 -> 추가... 이렇게 하면 귀찮으시겠죠?

명령어로 해결해 드리겠습니다. cmd 열고 아래만 실행하면 끝입니다. 물론 경로는 잡은 경로로 바꿔줘야 겠죠.

setx NODE_PATH=(node.js 경로)\node_module

setx PATH=%PATH%;(node.js 경로)\bin

setx 특성상 전역에는 등록되지만 명령어 환경에 바로 변수가 적용되지 않습니다.

이렇게 하고 cmd 열고 node 실행하면 꺽쇠만 보일 것입니다. 그럼 성공한 것입니다.

윈도우 서버 및 비스타 이상에서는 setx 라는 명령어가 있습니다. 하지만 XP는 없습니다. 따로 다운받거나,

http://www.microsoft.com/downloads/details.aspx?FamilyID=49ae8576-9bb9-4126-9761-ba8011fabf38&DisplayLang=ko

포터블 환경으로 위처럼 세팅하세요.


이렇게 하면 포터블 환경의 경우 폴더 구조가 이렇게 완성됩니다.

node.js 폴더

  └ bin 폴더

       └ node.exe

  └ node_module 폴더(이 폴더에 node.js 모듈이 들어갈 곳)

  └ python 폴더(여기 안에 python이 들어있음)

  └ node.cmd

  └ ryppi.cmd

  └ typpi.py


6. 보너스로 초간단 웹 서버 구축을 해봅시다.

express 라는 node.js 프레임워크가 있습니다. 전에 제가 쓴 강좌에 소개된 jessica,nancy 같은 초경량 MVC 웹 프레임워크입니다.

(node.js 폴더)\ryppi.cmd install express

그럼 node_module 폴더에 여러가지 폴더들이 생겨나면서 express 및 필요한 종속 모듈들이 같이 깔립니다.

그다음, 아무데나 폴더 하나 잡고 hello.js 를 작성해 봅시다.


var express=require('express');
var app = express.createServer();

app.get('/', function(req, res){
  res.send('hello world');
});

app.listen(3000);
console.log("웹 서버 시작 : http://localhost:3000");


그리고 node.js 실행해서 돌려봅시다.

(node.js 폴더, 서버환경에선 안써도됨)\node hello.js

이렇게 해서 콘솔에

웹 서버 시작 : http://localhost:3000

라고 써있고 브라우저에 http://localhost:3000 주소를 쳐봤을때 hello world 나오면 성공한겁니다.


어때요. 참 쉽죠?

이미지가 많이 없고 글만 있어서 아쉽지만 최대한 쉽게 설명해 드렸습니다. 그래도 이해 못하신다면 댓글 남겨주세요.

이것으로 구축 가이드를 마치겠습니다. 끄읕.

No. Subject Author Date Views
Notice SQL강좌: 챗GPT와 함께 배우는 SQL Server 무료 강좌 목차와 소개 (2023년 9월 업데이트) 코난(김대우) 2023.08.18 236319
Notice Python 무료 강좌 - 기초, 중급, 머신러닝(2023년 6월 업데이트) 코난(김대우) 2021.01.01 94157
56 jQuery MsgBox 0.2.6 BETA 출시! 컴포지트 2012.05.10 30601
55 jQuey plugin - 코드 샘플 Code Sample 한머리 2012.04.09 24281
54 기존 요소 유지하면서 텍스트만 바꾸기. 컴포지트 2012.02.16 31587
53 attr를 활용한 마우스따라 리스트색상 변하기... [2] 박규정 2012.02.08 31062
52 골때리는 자바스크립트 미니버전 [1] 컴포지트 2011.11.18 30208
51 jQuery Plugin - Plugin 작성 가이드 [2] 한머리 2011.11.16 47009
» 윈도우를 위한 node.js 초간단 구축 가이드 컴포지트 2011.11.08 43659
49 jQuery Plugin - JS OOP 2편, Self-Invocating function [3] 한머리 2011.10.14 32425
48 jQuery Plugin - JS OOP 1편 [1] 한머리 2011.10.11 24530
47 jQuery plugin - 들어가기 전에 [7] 한머리 2011.10.07 32155
46 jQuery Plugin Example - 자진삭제 [5] 한머리 2011.10.07 24367
45 ajax 페이지에서 live, delegate의 오남용!! [2] 싸우라비 2011.09.20 23045
44 컴포지트가 추천하는 조낸 빠른 자바스크립트 CDN 활용 컴포지트 2011.08.31 26610
43 IE 감지 스크립트 [1] 컴포지트 2011.07.26 18665
42 [jQuery 동영상 강좌] 20. jQuery Performance [3] 승연아빠 2011.07.10 36754
41 [jQuery 동영상 강좌] 19. jQuery Event - 이벤트에 생명을~ 승연아빠 2011.07.10 34646
40 [jQuery 동영상 강좌] 18. jQuery Event - bind() 메서드 승연아빠 2011.07.10 26502
39 [jQuery 동영상 강좌] 17. jQuery Event - 이벤트 지원 메서드 승연아빠 2011.07.10 31499
38 [jQuery 동영상 강좌] 16. jQuery Form API - 폼 지원 메서드에 대하여 승연아빠 2011.07.10 30521
37 [jQuery 동영상 강좌] 15. jQuery Attribute - 요소의 속성 관련 메서드에 대하여 승연아빠 2011.07.10 21898





XE Login