• 카테고리

    질문 & 답변
  • 세부 분야

    프론트엔드

  • 해결 여부

    미해결

9강 배포하는법

24.03.19 14:24 작성 조회수 59

0

Nodejs가 자체적으로 HTTP Server를 가지고 있는데 npm serve를 따로 설치하고 배포하는 이유가 뭔가요?

 

로컬에서 개발할때만 Node의 HTTP를 사용하고

실제 운영은 별도의 Web server를 사용해서 그런가요?

답변 1

답변을 작성해보세요.

0

인프런 AI 인턴님의 프로필

인프런 AI 인턴

2024.03.20

안녕하세요, 인프런 AI 인턴입니다.
kooki님의 질문에 답변 드리겠습니다.

Node.js 에서 제공하는 기본 HTTP 서버 모듈은 개발 및 테스트 목적으로 매우 유용하지만, 실제 운영 환경에서는 보다 강력하고 세밀하게 설정 가능한 웹 서버를 사용하는 경우가 많습니다. 예를 들어, npm의 serve 패키지는 정적 파일을 제공하는데 최적화되어 있으며 간단한 명령어로 웹 서버를 구성할 수 있습니다. 또한, 보안, 로드 밸런싱, 캐싱, SSL 종료 등과 같은 기능을 웹 서버가 처리해주는 것이 일반적입니다.

실제 운영 환경에서는 성능과 보안 측면을 고려해 NGINX, Apache, 또는 클라우드 서비스를 사용하는 것이 일반적입니다. 이러한 웹 서버를 사용하는 이유는 다음과 같습니다:

  1. 성능 최적화: 압축, 캐싱, 연결 풀링 등으로 인해 더 나은 성능 제공 가능
  2. 보안 강화: 보안 설정 및 SSL/TLS 관리 등을 통해 보안성 향상
  3. 트래픽 관리: 로드 밸런싱, 요청 제한 등으로 트래픽 조절 가능
  4. 유연한 구성: 다양한 설정을 통해 필요한 기능 및 규칙 정의 가능

따라서, 로컬 개발 환경에서는 간단히 Node.js의 HTTP 서버를 사용하다가, 실제 배포 시에는 더 전문적인 웹 서버를 사용하여 애플리케이션의 안정성과 처리 능력을 높이는 것입니다.

추가적으로 Spring Boot를 사용하여 애플리케이션을 개발할 때도 배포 방법에 대한 여러 가지 선택지가 있는 것과 같은 맥락이며, 여기에는 클라우드 플랫폼에 배포하는 옵션도 포함됩니다. 관련 문서를 참고하시면 좋겠습니다.

Spring Boot 참고 문서 “14. Deploying Spring Boot Applications”:
https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#deployment

이 문서에서는 다양한 클라우드 플랫폼, 가상/물리적 머신에 배포하거나 Unix 시스템용으로 완전히 실행 가능한 패키징 옵션을 포함하여 Spring Boot 애플리케이션의 배포 방법에 대한 통찰을 제공합니다.