Node.js와 Express로 서버 구축하기

Node.js와 Express를 활용한 웹 서버 구축하기

최근들어 Node.js는 웹 개발에서 매우 인기 있는 플랫폼으로 자리잡고 있습니다. 특히 Express 프레임워크를 이용하면 효율적이고 빠른 웹 서버를 간편하게 구축할 수 있습니다. 이번 글에서는 Node.js와 Express를 통해 웹 서버를 만드는 방법에 대해 알아보겠습니다.

Node.js란 무엇인가?

Node.js는 Chrome의 V8 JavaScript 엔진 위에서 실행되는 자바스크립트 런타임 환경입니다. 이를 통해 서버사이드에서 자바스크립트를 실행할 수 있게 해주며, 웹 애플리케이션, RESTful API 등을 구현할 수 있는 강력한 플랫폼으로 알려져 있습니다.

Express.js 소개

Express.js는 Node.js에서 웹 애플리케이션 및 API 서버를 쉽고 빠르게 구축할 수 있도록 도와주는 프레임워크입니다. Express를 사용하면 라우팅, 미들웨어, 에러 처리 등 다양한 기능을 손쉽게 구현할 수 있어 많은 개발자들에게 사랑받고 있습니다.

웹 서버 구축 단계

웹 서버를 구축하기 위해서는 먼저 Node.js와 Express를 설치하는 과정이 필요합니다. 아래를 따라 단계별로 진행해보세요.

1. Node.js 설치

Node.js 홈페이지에서 안정적인 LTS(Long Term Support) 버전을 다운로드하여 설치하세요. 설치 후, 커맨드라인에서 node -v 명령어를 입력해 제대로 설치되었는지 확인합니다.

2. 프로젝트 폴더 생성 및 초기화

원하는 위치에 프로젝트 폴더를 생성한 후, 해당 폴더로 이동하여 다음 명령어를 입력하여 package.json 파일을 생성합니다.

npm init -y

이 명령어는 기본 설정으로 package.json을 생성합니다. 이 파일은 프로젝트의 메타데이터를 관리하며, 필요한 패키지를 관리하는 데 도움을 줍니다.

3. Express 설치

다음으로는 Express를 설치합니다. 아래 명령어를 터미널에 입력하여 설치를 진행합니다.

npm install express

이 명령어를 실행하면 node_modules 폴더와 함께 express 패키지가 설치됩니다.

4. 서버 코드 작성하기

이제 서버를 구현할 JavaScript 파일을 생성합니다. 보통 app.js 또는 index.js라는 이름으로 만들곤 합니다. 아래는 기본적인 서버 코드입니다.

const express = require('express');
const app = express();
const PORT = 3000; // 서버 포트 설정
app.get('/', (req, res) => {
 res.send('Hello from Express!');
});
app.listen(PORT, () => {
 console.log(서버가 http://localhost:${PORT} 에서 실행 중입니다.);
});

위의 코드는 기본적인 GET 요청을 처리하며, 루트 경로에 접속시 “Hello from Express!”라는 메시지를 반환합니다. 마지막 줄에서 서버를 3000번 포트에서 실행하도록 설정하고 있습니다.

5. 서버 실행하기

모든 설정이 완료되었다면, 아래와 같은 명령어로 서버를 실행할 수 있습니다.

node app.js

서버가 정상적으로 실행되면 브라우저에 http://localhost:3000을 입력하여 결과를 확인해보세요.

라우팅 및 미들웨어 사용하기

Express의 강력한 기능 중 하나는 다양한 라우팅 및 미들웨어를 사용할 수 있는 점입니다. 이를 통해 HTTP 요청의 경로를 세분화하고, 요청에 대한 응답을 효율적으로 처리할 수 있습니다.

라우팅 예제

아래의 예시는 여러 경로에 대한 요청을 처리하는 방법입니다.

app.get('/about', (req, res) => {
 res.send('About Page');
});
app.get('/contact', (req, res) => {
 res.send('Contact Page');
});

위와 같은 방식으로 여러 경로를 추가하여 각기 다른 페이지에 대한 응답을 설정할 수 있습니다.

미들웨어 활용하기

미들웨어는 요청과 응답 사이에서 실행되는 함수로, 요청의 정보에 접근하거나 응답을 수정하는 데 사용됩니다. 아래와 같이 미들웨어를 설정할 수 있습니다.

app.use(express.json()); // JSON 형태의 요청 바디를 파싱
app.use(express.urlencoded({ extended: true })); // URL 인코딩된 요청 바디를 파싱

이 미들웨어는 클라이언트가 보낸 데이터의 형식을 처리하고, 서버의 요청 객체인 req.body를 통해 접근할 수 있게 합니다.

마무리 및 추가 글

Node.js와 Express를 활용하여 간단한 웹 서버를 구축하는 방법을 살펴보았습니다. 이러한 기술을 통해 CRUD 기능을 포함한 복잡한 웹 애플리케이션을 손쉽게 만들 수 있습니다. 다음 글에서는 에러 처리 및 정적 파일 제공 방법에 대해 다루어보겠습니다.

더 다양한 내용을 원하신다면, Express의 공식 문서나 관련 자료를 찾아보시는 것도 좋은 방법입니다. 또한 실습을 통해 더욱 깊이 있는 기술을 익혀보시길 바랍니다.

자주 물으시는 질문

Node.js란 무엇인가요?

Node.js는 Chrome의 V8 엔진을 기반으로 한 자바스크립트 런타임으로, 서버 측에서 자바스크립트를 실행할 수 있는 환경을 제공합니다.

Express.js를 사용하는 이유는 무엇인가요?

Express.js는 웹 애플리케이션을 신속하게 구축할 수 있게 돕는 프레임워크로, 효율적인 라우팅과 미들웨어 처리가 가능합니다.

간단한 Express 서버를 어떻게 만들 수 있나요?

Express 서버는 기본적으로 몇 줄의 코드만으로 구성할 수 있으며, GET 요청을 처리할 수 있도록 기본적인 라우팅을 설정하면 됩니다.

답글 남기기