기초부터 실행까지 한 번에 끝내는 초간단 서버 구축 가이드
Node.js는 서버 개발에 아주 적합한 JavaScript 런타임입니다. 오늘은 여러분이 직접 간단한 웹 서버를 만들 수 있도록, HTTP 모듈을 이용한 기초 서버 코드를 소개해드릴게요.
목표
- Node.js로 HTTP 요청을 받아들이는 서버를 만든다.
- 브라우저에서 접속했을 때 간단한 메시지를 보여준다.
1. Node.js 설치는 되어 있겠죠?
만약 아직 설치하지 않았다면, Node.js 공식 웹사이트에서 LTS 버전을 설치해주세요.
설치 확인은 터미널에서 다음 명령어로!
node -v
npm -v
2. 서버 코드 작성하기
아래와 같은 파일을 하나 만들어주세요. 예: server.js
- http.createServer()는 요청(request)과 응답(response)을 받아 처리하는 서버를 생성합니다.
- res.writeHead()는 응답 상태코드와 헤더를 설정합니다.
- res.end()는 응답을 끝내며, 클라이언트에게 내용을 전달합니다.
- server.listen()은 서버를 특정 포트에서 실행시킵니다.
// 1. http 모듈 불러오기
const http = require('http');
// 2. 포트 설정
const PORT = 3000;
// 3. 서버 생성
const server = http.createServer((req, res) => {
// 요청 정보 출력
console.log(`요청 URL: ${req.url}, 요청 방식: ${req.method}`);
// 응답 헤더 설정
res.writeHead(200, { 'Content-Type': 'text/html; charset=utf-8' });
// 응답 본문 작성
res.end('<h1>안녕하세요! Node.js 서버입니다 </h1>');
});
// 4. 서버 실행
server.listen(PORT, () => {
console.log(`✅ 서버가 http://localhost:${PORT} 에서 실행 중입니다`);
});
3. 서버 실행하기
이제 터미널에서 다음 명령어를 입력해 서버를 실행해보세요:
node server.js
브라우저에서 http://localhost:3000 으로 접속하면 다음과 같은 페이지를 볼 수 있어요:
그리고 터미널에는 요청 로그가 찍힐 거예요:
4. 간단한 라우팅 추가해보기
요청 URL에 따라 응답을 다르게 하고 싶다면 이렇게 수정해볼 수 있어요:
const server = http.createServer((req, res) => {
res.writeHead(200, { 'Content-Type': 'text/html; charset=utf-8' });
if (req.url === '/') {
res.end('<h1>홈페이지입니다 </h1>');
} else if (req.url === '/about') {
res.end('<h1>소개 페이지입니다 </h1>');
} else {
res.writeHead(404);
res.end('<h1>페이지를 찾을 수 없습니다 </h1>');
}
});

'IT속으로' 카테고리의 다른 글
Node.js + Express로 로그인 기능 만들기 (0) | 2025.04.04 |
---|---|
Node.js Express로 더 쉽게 서버 구축하기 (0) | 2025.04.04 |
Node.js의 장단점 정리 (언제, 왜 써야 할까?) (1) | 2025.04.04 |
Node.js 기초 문법 완전 정복! (0) | 2025.04.04 |
Node.js 설치 방법 (윈도우 / macOS / 리눅스) (0) | 2025.04.04 |
댓글