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

최근 웹 개발 분야에서는 JavaScript의 활용도가 높아지면서 Node.js와 Express.js를 이용한 서버 구축이 인기를 얻고 있습니다. Node.js는 서버 측에서 JavaScript를 실행할 수 있는 런타임 환경으로, HTTP 요청을 처리하고 응답을 생성하는 데 매우 효율적입니다. 이번 글에서는 Node.js와 Express를 사용하여 간단한 웹 서버를 설정하는 방법에 대해 알아보겠습니다.

필요한 환경 설정

Node.js 및 Express를 사용하기 전에, 개발 환경을 설정해야 합니다. 여기서는 우분투(Ubuntu) 가상 머신을 활용하여 작업할 예정입니다.

  • 버추얼 박스에 우분투 설치: 먼저, 버추얼 박스를 통해 우분투를 설치합니다. 이 과정에서 가상 머신을 설정해야 하며, 버추얼 박스의 최신 버전을 사용하는 것이 좋습니다.
  • Node.js 설치: Node.js는 다양한 방법으로 설치할 수 있지만, NVM(Node Version Manager)을 통해 설치하는 방법이 자주 사용됩니다. 이를 통해 필요할 때마다 Node.js 버전을 쉽게 변경할 수 있습니다.
  • Express 설치: Node.js가 설치된 후, npm(Node Package Manager)을 통해 Express.js 모듈을 설치할 수 있습니다.

Node.js 및 Express 설치하기

우선, 프로젝트를 위해 새로운 폴더를 생성하고 해당 폴더로 이동합니다. 터미널을 열고 다음 명령어를 입력하여 Express.js 모듈을 설치합니다.

$ npm install express

이제 Express.js가 설치되었습니다. 이로써 웹 서버를 구축할 준비가 완료되었습니다.

기본적인 Express 서버 생성하기

이제 웹 서버를 설정할 차례입니다. app.js라는 파일을 생성하고, 다음과 같은 코드를 작성합니다.

const express = require('express'); // Express 모듈 불러오기
const app = express(); // Express 앱 생성
app.get('/', (req, res) => { // 루트 경로에 GET 요청 처리
  res.send('Hello World'); // 클라이언트에 "Hello World" 응답
});
app.listen(3000, () => { // 3000 포트에서 서버 실행
  console.log('서버가 http://localhost:3000에서 실행 중입니다.');
});

위 코드는 간단한 웹 서버를 설정합니다. 서버는 3000번 포트에서 대기하며, 클라이언트가 루트 경로에 접근하면 “Hello World”라는 메시지를 반환합니다.

서버 실행하기

서버를 실행하기 위해 터미널에서 다음 명령어를 입력합니다.

$ node app.js

서버가 정상적으로 실행되면, 웹 브라우저에서 http://localhost:3000에 접속하여 “Hello World” 메시지를 확인합니다. 이를 통해 웹 서버가 정상적으로 작동하고 있음을 알 수 있습니다.

HTML 파일 송신하기

이제 웹 서버에서 HTML 파일을 제공할 수 있는 방법도 알아보겠습니다. sendFile 메소드를 사용하여 클라이언트에게 HTML 문서를 송신할 수 있습니다.

예를 들어, map.html이라는 HTML 파일을 서버에서 서비스하려면, 다음과 같은 방식으로 코드를 수정합니다.

app.get('/map', (req, res) => { // /map 경로에 GET 요청 처리
  res.sendFile(__dirname + '/map.html'); // map.html 파일 송신
});

이렇게 하면, 웹 브라우저에서 http://localhost:3000/map로 접근 시, 맵이 표시된 HTML 파일을 볼 수 있습니다.

종합 정리

이 글에서는 Node.js와 Express.js를 사용하여 기본적인 웹 서버를 구축하는 방법을 살펴보았습니다. Node.js와 Express를 활용하면 빠르고 유연한 웹 애플리케이션을 개발할 수 있습니다. 앞으로는 데이터베이스 통합이나 RESTful API 구축과 같은 고급 기능도 쉽게 확장할 수 있습니다.

Node.js와 Express.js의 조합은 특히 빠른 개발 사이클과 효율성을 제공하여 많은 개발자들에게 사랑받고 있습니다. 기본적인 설정과 작동을 숙지한 후, 다양한 기능을 추가해 나가며 웹 개발의 세계를 넓혀가시기 바랍니다.

마지막으로, Express.js의 공식 문서나 다양한 온라인 자료를 참고하면 더욱 깊이 있는 학습이 가능하니 적극 활용해 보시기 바랍니다.

자주 묻는 질문과 답변

Node.js란 무엇인가요?

Node.js는 JavaScript로 서버 측 프로그래밍을 가능하게 하는 런타임 환경입니다. 이를 통해 웹 서버를 구축하고, 다양한 웹 애플리케이션을 효율적으로 개발할 수 있습니다.

Express.js는 어떤 역할을 하나요?

Express.js는 Node.js 위에서 동작하는 웹 애플리케이션 프레임워크로, 서버 구축을 보다 간편하게 만들어주는 도구입니다. 라우팅 및 미들웨어 기능을 제공하여 다양한 요청을 쉽게 처리할 수 있습니다.

웹 서버를 어떻게 실행하나요?

웹 서버를 실행하기 위해서는 터미널에서 ‘node app.js’ 명령어를 입력하면 됩니다. 성공적으로 실행되면 지정한 포트에서 클라이언트의 요청을 받게 됩니다.

카테고리: 생활정보

0개의 댓글

답글 남기기

아바타 플레이스홀더

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다