Node.js
Node.js는 브라우저 안에서만 돌던 자바스크립트를 내 컴퓨터와 서버에서도 돌게 해 주는 실행 환경이에요. 설치하면 부품 설치 도구 npm도 함께 따라와요.
목차 보기
Node.js(노드제이에스)는 브라우저 안에서만 돌던 자바스크립트를 내 컴퓨터와 서버에서도 돌게 해 주는 실행 환경이에요. 극장 무대에서만 공연하던 배우에게 어디서든 설 수 있는 이동식 무대를 마련해 준 셈이에요.
글 서순명(솔리드그루 이사 · 퓨쳐인프라 운영) · 2026-10-29 작성 · 예시 명령은 2026-10-29 Windows 11 · Node v24.15.0 에서 직접 실행
3줄 요약
- Node.js는 언어가 아니에요. 자바스크립트를 실행해 주는 프로그램이에요.
- Node.js를 깔면 남이 만든 부품을 받아 오는 npm도 같이 따라와요.
- 로그인·주문 저장 같은 서버 일과, 리액트 앱을 만드는 도구들이 모두 Node.js 위에서 돌아가요.
Node.js는 어떻게 동작하나요?
Node.js는 크롬 브라우저의 심장인 V8이라는 자바스크립트 엔진을 브라우저 밖으로 꺼내 쓴 거예요(Node.js 공식 소개). 그래서 브라우저 없이 node 파일.js 한 줄로 자바스크립트가 돌아요.
일하는 방식은 손님이 많은 카페 직원과 비슷해요. 직원이 한 명이라도, 커피가 내려지는 동안 멍하니 서 있지 않고 다음 주문을 받아요. 커피가 다 되면 그때 불러서 건네요.
Node.js도 파일 읽기나 데이터베이스 답처럼 기다려야 하는 일은 맡겨 두고, 그사이 다른 요청을 처리해요. 공식 문서는 이걸 비동기·이벤트 기반이라고 불러요. 요청마다 일꾼을 새로 두지 않아도 서버 한 대가 많은 연결을 받을 수 있는 이유예요(About Node.js).
자바스크립트·npm·리액트와는 무슨 사이예요?
이름이 한꺼번에 나와서 헷갈리는 부분이에요. 하나씩 놓고 보면 역할이 다 달라요.
| 이름 | 정체 | 비유 |
|---|---|---|
| 자바스크립트 | 프로그래밍 언어 | 대본 |
| Node.js | 브라우저 밖에서 자바스크립트를 실행하는 프로그램 | 이동식 무대 |
| npm | Node.js에 딸려 오는 부품 설치 도구 | 소품 가게 |
| Express | Node.js로 웹 서버를 쉽게 짜는 부품 | 무대 장치 세트 |
| 리액트 | 화면을 만드는 부품, 만들 때 Node.js 도구를 씀 | 무대 배경 |
그래서 리액트로 화면만 만들더라도 내 PC에는 Node.js가 깔려 있어야 해요. 프로젝트를 만들고, 부품을 받고, 미리보기를 띄우는 명령이 전부 Node.js 위에서 돌아요.
직접 해 보면 어떻게 나오나요?
2026-10-29 Windows 11 PC에서 직접 실행한 결과예요. 먼저 버전을 보고, 아무 일도 안 하는 프로그램을 다섯 번 켜고 끄는 데 걸린 시간을 쟀어요.
$ node -v && npm -v
v24.15.0
11.12.1
$ node -e "" 를 5번 실행한 시간(빈 프로그램 시작~끝)
82ms
82ms
89ms
94ms
88ms
Node.js를 깔았더니 npm 11.12.1도 같이 들어와 있었어요. 켜고 끄는 데는 0.1초가 안 걸렸어요. 다음은 열 줄 남짓한 코드로 웹 서버를 띄운 결과예요.
$ cat server.cjs
const http = require("node:http");
const server = http.createServer((req, res) => {
res.writeHead(200, { "Content-Type": "application/json; charset=utf-8" });
res.end(JSON.stringify({ message: "안녕하세요, Node.js 서버예요", path: req.url }));
});
server.listen(18082, () => {
const mb = (process.memoryUsage().rss / 1024 / 1024).toFixed(1);
console.log(`http://localhost:18082 에서 대기 중 (메모리 ${mb}MB)`);
});
$ node server.cjs
http://localhost:18082 에서 대기 중 (메모리 61.8MB)
$ curl -s localhost:18082/hello
{"message":"안녕하세요, Node.js 서버예요","path":"/hello"} <- HTTP 200, 0.004749s
$ node -e "console.log(typeof fetch, typeof require(\"node:sqlite\").DatabaseSync)" (내장 기능 확인)
function function
- 서버는 18082번 문(포트)에서 손님을 기다려요. 주소 뒤
/hello를 그대로 돌려준 걸 보면 요청이 제대로 닿았어요. - 응답은 0.005초가 안 걸렸어요. 같은 PC 안이라 인터넷 왕복 시간이 빠진 값이에요.
- 마지막 줄은 다른 사이트에 요청하는
fetch와 작은 데이터베이스(SQLite)가 따로 설치 없이 들어 있다는 확인이에요.
버전은 뭘 깔아야 해요?
LTS(오래 지원하는 판)를 고르면 돼요. 공식 사이트는 실제 서비스에는 LTS 단계의 판만 쓰라고 권해요(Node.js 릴리스 안내). 2026-10-29에 확인한 상태는 아래와 같아요.
| 버전 줄 | 최신 판 | 상태 |
|---|---|---|
| v26 | v26.13.0 | LTS(가장 새 LTS) |
| v24 | v24.22.2 | LTS |
| v22 | v22.23.4 | LTS |
| v25 | v25.9.0 | 지원 종료 |
| v20 | v20.20.2 | 지원 종료 |
위 실험에 쓴 v24.15.0도 LTS 줄이에요. 새로 깐다면 가장 새 LTS를 고르고, 서버와 내 PC의 버전 줄을 맞춰 두면 "내 PC에선 되는데 서버에선 안 돼요" 같은 일이 줄어요.
자주 하는 오해와 주의할 점
- "Node.js는 새로운 언어다" 코드는 그냥 자바스크립트예요. Node.js는 그걸 돌리는 프로그램이에요.
- "PC에서 서버를 띄웠으니 남도 들어온다"
localhost는 내 PC 안에서만 열리는 주소예요. 남이 쓰게 하려면 24시간 켜진 서버에 올려야 해요(서버 뜻). PC를 끄면 서버도 꺼져요. - node_modules 폴더는 저장소에 올리지 마세요. npm이 받아 온 부품 폴더라 크고, 언제든 다시 받을 수 있어요.
.gitignore에 넣어 빼 두세요(깃 뜻). - 처음 보는 부품을 아무거나 설치하지 마세요. 이름이 비슷한 가짜 부품이 섞여 있을 수 있어요. AI가 낯선 이름을 설치하라고 하면 "이 패키지가 공식인지 확인해 줘"라고 한 번 물어보세요.
바이브코딩을 하다 보면 "먼저 Node.js를 설치하세요"라는 안내를 자주 만나요. 클로드 코드도 터미널에서 npm, node 명령을 직접 실행해 프로젝트를 만들고 돌려요.
퓨쳐인프라에서는 어떻게 올리나요?
Node.js 서버는 도커 이미지 하나로 앱 호스팅에 올리면 주소와 HTTPS가 붙어요. 앱 하나를 켜 두면 월 5,500원(부가세 포함, 1코어·1GB·트래픽 20GB 포함)이에요. 위 실험처럼 메모리를 수십 MB 쓰는 작은 서버라면 기본 크기로 충분히 시작할 수 있어요.
API 키는 앱 환경변수에 넣으면 암호화해 보관되고, 데이터베이스를 붙이면(월 2,200원) 접속 정보도 환경변수로 자동으로 들어와요. 매일 정해진 시간에 돌릴 작업은 크론으로 걸어 둘 수 있어요.
자주 묻는 질문
Node.js는 어떻게 설치해요?
nodejs.org 에서 LTS 라고 적힌 설치 파일을 받아 실행하면 돼요. 설치 뒤 명령 창에 node -v 와 npm -v 를 쳐서 버전 두 개가 나오면 준비 끝이에요.
npm 과 npx 는 뭐가 달라요?
npm 은 부품을 프로젝트에 설치하고 관리하는 도구예요. npx 는 부품을 설치해 두지 않고 한 번 실행만 할 때 써요. 'npx create-next-app' 처럼 새 프로젝트를 만들 때 자주 보여요.
Node.js로 만든 프로그램은 Windows 와 Mac 에서 똑같이 돌아요?
대부분 그대로 돌아요. 다만 파일 경로 표기나 줄바꿈 같은 운영체제 차이 때문에 가끔 손볼 곳이 생겨요. 서버에 올릴 땐 도커 이미지로 묶으면 환경 차이를 줄일 수 있어요.
Node.js 말고 비슷한 것이 있어요?
Deno, Bun 같은 자바스크립트 실행 환경도 있어요. 하는 일은 비슷하지만, 예제와 부품이 가장 많이 쌓인 쪽이 Node.js 라서 처음엔 Node.js로 시작하는 경우가 많아요.
관련 용어
- 자바스크립트는 Node.js가 실행하는 언어예요.
- 리액트는 Node.js 도구로 만드는 화면 라이브러리예요.
- 백엔드는 Node.js가 자주 맡는 서버 쪽 일이에요.
- 포트는 서버가 손님을 기다리는 문 번호예요.
- API는 Node.js 서버가 주고받는 창구예요.
- 도커는 Node.js 앱을 서버에 올릴 때 묶는 방법이에요.
- 글쓴이는 서순명(솔리드그루 이사)이에요. 솔리드그루는 국내 IDC 에서 클라우드 서버·앱 호스팅·AI API 서비스 퓨쳐인프라를 운영해요. 2026-10-29에 썼어요.
- 운영사는 솔리드그루예요. 사업자등록번호 875-44-00335 · 서울특별시 구로구 디지털로29길 38, 7층 707호 · 전화 02-6933-6229 · support@futureinfra.ai · 고객센터 · 이용약관
- 한계도 있어요. 실행 결과는 2026-10-29 Windows 11 PC 한 대에서 Node v24.15.0 으로 잰 값이라 컴퓨터마다 시간과 메모리가 달라요. 응답 시간은 같은 PC 안에서 잰 값이라 인터넷 왕복이 빠져 있어요. 버전 상태는 같은 날 nodejs.org 기준이에요.
- 이해관계를 밝혀 둬요. 퓨쳐인프라(솔리드그루) 블로그예요. 글 안에 자사 앱 호스팅·데이터베이스 안내가 있어요.
연관 서비스
많이 본 글
-
블로그
도메인 구매 사이트 추천 2026 — 가비아·후이즈 등 15곳 갱신·이전비 비교
같은 .co.kr 도 등록업체 15곳의 3년 값이 3.8만~8.6만 원이에요(11월 3일 KRNIC 표). 갱신가·이전비·해외 업체 조건, 11월 인상 뒤 가비아 실제 화면, 구매처 확인과 기관이전까지 정리했어요. -
블로그
무료 도메인 사이트 추천 2026 — 내도메인.한국·DuckDNS 발급 방법
내도메인.한국·DuckDNS 처럼 계속 무료인 주소 10곳을 11월 3일 서울에서 다시 재고(6곳 6ms 안), 발급 순서·구글·네이버 무료 주소·'첫해 무료'의 2년째 값까지 정리했어요. -
블로그
클로드 MCP·Gemini MCP 연동 방법 2026, MCP 서버 9곳
클로드 MCP(데스크톱·Claude Code)와 Gemini MCP 연동(Gemini CLI·안티그래비티·Gemini 앱·API) 등 9곳의 MCP 서버 연결법을 공식 문서로 정리했어요. 원격 57ms 실측과 오류 해결까지. -
블로그
Gemini 3.9 Flash 나왔나요? 지금 최신은 3.8 Flash — 3.7과 직접 잰 속도·비용
2026년 9월 22일 기준 Gemini 3.9 Flash는 미출시입니다. 최신 3.8 Flash의 사양·가격(2027년 2배 인상)과, 3.7 Flash와 같은 과제로 직접 잰 속도·비용·JSON 형식 준수 차이를 정리했습니다. -
블로그
서버비 한 달 얼마? 방문자 10만 명도 월 3만 2천 원(2026 계산)
월 방문자 1천·1만 명은 1만 4천 원, 10만 명은 3만 2천 원이에요. 요금제별 트래픽 기본 제공량까지 넣어 다시 계산하고 AWS·카페24·가비아·네이버클라우드 값과 숨은 비용을 비교했어요(2026-10-26 확인).
댓글
로그인하면 댓글을 남길 수 있습니다.