Node.js Express로 웹 서버 구축하는 방법
안녕하세요! 이번 포스팅에서는 Node.js와 Express 프레임워크를 활용하여 웹 서버를 구축하는 방법에 대해 알아보겠습니다. Express는 Node.js 환경에서 웹 애플리케이션을 효율적으로 개발할 수 있도록 도와주는 강력한 프레임워크입니다. 이 글을 통해 Express의 특징과 설치 방법, 서버 구성 절차에 대해 상세히 설명하겠습니다.

Express란?
Express.js는 Node.js의 가장 널리 사용되는 웹 프레임워크 중 하나로, 웹 및 모바일 애플리케이션의 개발을 위한 풍부한 기능을 제공합니다. 이 프레임워크는 간결하고 유연한 구조 덕분에 웹 서버 구축을 빠르고 용이하게 할 수 있습니다. Express를 이용하면 방대한 HTTP 유틸리티 메서드와 다양한 미들웨어를 활용하여 강력한 API 및 서버를 손쉽게 작성할 수 있습니다.
Express의 장점
- 우수한 성능: Express는 단위 시간당 처리량이 높고, 애플리케이션의 확장성을 최적화하여 뛰어난 성능을 자랑합니다.
- 자바스크립트로 통합 개발: Express는 자바스크립트로 작성되므로 클라이언트와 서버 측 코드를 동일한 언어로 개발할 수 있어 개발자가 여러 언어를 다룰 필요가 없습니다.
- NPM을 통한 확장성: Node.js의 패키지 매니저인 NPM을 통해 수많은 재사용 가능한 패키지에 접근해 의존성을 쉽게 관리할 수 있습니다.
- 활발한 커뮤니티: Express는 강력한 커뮤니티와 개발 생태계를 가지고 있어 다양한 도움을 쉽게 구할 수 있습니다.
Node.js와 Express 환경 설정
프로젝트를 시작하기 위해 먼저 새로운 디렉터리를 생성한 후 해당 위치로 이동하여 Node.js 프로젝트를 초기화합니다. 아래의 명령어를 입력하여 package.json 파일을 생성합니다.
npm init -y
Express 설치하기
이제 Express 패키지를 설치해 보겠습니다. 아래 명령어를 통해 Express를 설치합니다.
npm install express
설치가 완료되면, node_modules
폴더와 package.json
의 dependencies
섹션에 Express가 추가됩니다.
기본 서버 구성
이제 Express를 사용하여 기본적인 서버를 설정해보겠습니다. 프로젝트 루트 폴더에 app.js
라는 파일을 생성하고 아래의 코드를 추가합니다.
const express = require('express');
const app = express();
const PORT = process.env.PORT || 5050;
app.get('/', (req, res) => {
res.send('Express 서버 시작
');
});
app.listen(PORT, () => {
console.log(서버가 http://localhost:${PORT} 에서 실행됩니다.);
});
위의 코드는 기본적인 Express 서버를 생성하고, 루트 경로에 대한 GET 요청을 처리하여 “Express 서버 시작”이라 표시하는 방법을 보여줍니다.
서버 실행하기
서버를 실행하기 위해 아래 명령어를 터미널에 입력합니다.
node app.js
브라우저를 열고 http://localhost:5050
에 접속하면 서버가 정상적으로 작동하는 것을 확인할 수 있습니다.
간편한 실행 스크립트 추가하기
이제 package.json
파일에 실행 스크립트를 추가하여 서버 실행을 더 간편하게 만들 수 있습니다. scripts
섹션에 아래 내용을 추가합니다.
"scripts": {
"start": "node app.js"
}
이제 터미널에서 npm start
명령어로 손쉽게 서버를 실행할 수 있습니다.
Express의 라우팅 이해하기
Express에서는 다양한 HTTP 요청을 처리하기 위한 라우팅 기능이 아주 중요합니다. 클라이언트가 요청하는 URL에 따라 적절한 응답을 반환하기 위해 라우트를 설정합니다.
아래의 예시는 라우팅 설정을 보여줍니다.
app.get('/about', (req, res) => {
res.send('안녕하세요, Express에 대해 알아봅시다!');
});
위의 코드는 ‘/about’ 경로로 GET 요청을 보내면 해당 메시지를 응답하는 라우트를 정의한 것입니다.
정적 파일 제공하기
Express는 정적 파일을 제공하는 것도 매우 간편합니다. express.static
미들웨어를 이용하여 특정 디렉터리의 파일을 정적 파일로 서빙할 수 있습니다.
app.use(express.static('public'));
위 코드를 추가하면 public
폴더 내의 파일들이 웹 서버를 통해 접근 가능하게 됩니다.

결론
이번 포스팅에서는 Node.js와 Express를 활용하여 웹 서버를 구축하는 방법을 단계별로 알아보았습니다. Express는 간편하면서도 강력한 기능을 제공하기 때문에, 빠른 웹 개발을 원하는 개발자들에게 많은 사랑을 받고 있습니다. 필요한 기능을 추가하기 위해 다양한 미들웨어를 활용하고, 라우팅을 통해 사용자가 요청하는 API를 손쉽게 정의할 수 있습니다.
이제 여러분도 Express를 이용하여 자신만의 웹 서버를 구축할 수 있게 되었습니다. 추가적인 기능이나 배포에 관한 내용은 후속 글에서 다룰 예정이니, 많은 관심 부탁드립니다!
질문 FAQ
Express 프레임워크란 무엇인가요?
Express는 Node.js를 기반으로 한 인기 있는 웹 프레임워크로, 효율적인 웹 애플리케이션 개발을 지원합니다.
Node.js 프로젝트를 어떻게 시작하나요?
새로운 디렉터리를 만들고 그곳에서 ‘npm init -y’ 명령어를 사용하여 기본 설정 파일인 package.json을 생성하면 됩니다.
Express 패키지를 설치하는 방법은?
‘npm install express’라는 명령어를 사용하여 Express를 간편하게 설치할 수 있습니다.
서버를 실행하는 절차는 어떻게 되나요?
‘node app.js’ 명령어를 입력하여 서버를 실행하면 기본 설정된 포트에서 요청을 처리합니다.
정적 파일을 제공하는 방법은 무엇인가요?
‘express.static’ 미들웨어를 사용하여 특정 폴더의 파일을 웹 서버를 통해 쉽게 제공할 수 있습니다.