본문 바로가기

프로그래밍

Node.js 를 이용한 초간단 웹서버 구축 (feat. http-server)

초간단 웹서버 http-server

Node.js 기반의 http-server 모듈은 설정이 불필요한 커맨드라인 기반의 심플한 웹서버 입니다. 운영 환경에서도 사용 가능하다고 이야기 하지만 그보다는 로컬에서 웹페이지 개발시에 테스트 목적으로 사용하기에 적격입니다.

 

Node.js 기반의 초간단 웹서버 http-server

 

 

 

http-server

A simple zero-configuration command-line http server

www.npmjs.com

http-server 설치

npm을 이용하여 글로벌로 설치합니다. 글로벌로 설치해야 커맨드창에서 손쉽게 http-server 구동이 가능해 집니다.

$ npm install --global http-server

참고로 npm 을 깃헙이 인수했다.

http-server 실행과 종료

http-server 설치 후 커맨드 창에서 http-server 를 입력하면 현재 디렉토리를 루트로 하고 8080포트를 리슨하는 웹서버가 즉시 구동됩니다. 브라우저를 열어 주소창에 http://localhost:8080 을 입력하면 웹서버에 접속할 수 있습니다.

 

$ http-server

http-server 실행

Ctrl+C 를 입력하면 실행중인 http-server를 종료시킬 수 있습니다.

http-server 옵션

http-server 구동 시 도큐먼트 루트 경로와 포트 등 옵션 설정이 가능합니다.

$ http-server [path] [options]

[path] : 웹서버 문서의 루트 경로

path 옵션을 지정하지 않으면 http-server 명령을 실행하는 작업폴더(./)가 문서의 루트 경로로 지정됩니다.

 

path 지정

[option]

  • -p 또는 --port 사용할 포트를 지정 (디폴트는 8080)
  • -d 디렉토리 파일목록 가능여부 (디폴트는 true)
  • -i 자동 인덱스 사용여부 (디폴트는 true)
  • -g 또는 --gzip 활성화할 경우에 xxx.js 요청에 대해서 xxx.js.gz 파일이 존재하는지 확인하여 서비스 합니다.
  • -s 또는 --silent 로그 메시지를 출력하지 않습니다
  • --cors Accss-Control-Allow-Origin 헤더를 사용하여 CORS 기능을 활성화 합니다.
  • -c 캐시 타임아웃을 초(Seconds) 단위로 지정합니다. (예: -c10 은 캐쉬 타임아웃 10초)
  • --log-ip 로깅시 클라이언트 IP 주소를 출력합니다. (디폴트는 false)
  • -S 또는 -ssl https 통신을 활성화 합니다. (인증서 설정 필요)
  • -C 또는 --cert SSL 인증서 파일의 경로를 지정합니다.
  • -K 또는 --key SSL 키 파일의 경로를 지정합니다.
  • -h 또는 --help 도움말을 출력합니다.
  • -v 또는 --version 버전정보를 출력합니다.
$ http-server -p 80

 

전체 옵션 정보는 http-server -h 명령으로 확인이 가능합니다.

 

도움말로 모든 옵션정보를 확인