ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • npm 패키지 - Supervisor
    JavaScript/Node.js 2018. 11. 25. 02:05

    npm 패키지 - Supervisor

    이번 시간에는 npm 패키지 중 Supervisor라는 패키지에 대해 알아보고 설치하고 사용해보려고 한다.

    npm 사이트에 들어가서 Supervisor를 검색하면 아래와 같은 패키지를 찾을 수 있다.

    https://www.npmjs.com/package/supervisor

    "

    Node.js를 위한 작은 관리자 스크립트이다.

    프로그램을 실행하고 코드 변경을 감지하고 메모리 누수 걱정이 필요없고 모듈간 참조를 모두 정리하며 완전히 새로운 시스템을 필요로 할 것 없이 다시 로드하는 동작을 할 수 있다.

    "

    뭔가 어려운 문장들이 잔뜩 있어서 번역기를 열심히 돌렸지만서도...이해하기가 어렵게 번역된 것 같다. 

    핵심만 말하자면 코드를 변경하고(서버단의 동적인 코드 변경) 애플리케이션 서버를 재시작할 필요 없이 자동으로 코드 변경을 감지하고 서버를 재시작한 것 같은 관리를 해준다는 것이다.


    그동안 app.js를 수정하면 서버를 종료하고 다시 "node app.js"를 수행해줘야만 서버단 코드의 수정사항이나 추가사항이 반영되었을 것이다.

    이러한 불필요한 과정을 스킵시켜주고 실시간 서버관리를 해주는 프로그램이라 생각하면 될 것 같다.




     설치

    npm 사이트에서 Supervisor를 검색하면 해당 페이지에서 설치내용도 알려주고 사용 방법이나 기능들도 설명해주고 있다.

    핵심은 -g명령어를 통해 애플리케이션이 위치한 프로젝트 폴더에 모듈로써 설치하는 것이 아닌 응용 프로그램 개념으로 글로벌 설치를 하는것 같다.





     사용 방법

    사용 방법 또한 npm Supervisor페이지에 등록되어 있다.

    "

    Node Supervisor는 프로그램들이 충돌났을 때 재시작하는데 사용된다.

    또한 *.js 파일이 변경되었을 때 프로그램을 재시작하는데 사용된다.

    "

    사용 방법은 "supervisor [options] program.js" 형식으로 사용할 수 있는 것 같다.

    Option은 사용 유무에 따라 선언할 수도 제외할 수도 있으니 "supervisor app.js"처럼 사용할 수 있을 것 같다.


    supervisor app.js로 실행하니 실행한 프로그램을 알려주고 변동 사항을 감지하기 위한 디렉토리 위치를 알려주고 'rs'명령어를 입력하면 프로세스를 재시작할 수 있다는 정보를 알려주고 있다.


    이 패키지를 사용하는 근본적인 이유는 '프로그램이 수정되었는지를 감지하고 서버를 재시작해주는가'여부이니까 app.js를 수정하고 저장해보자.

    그럼 위 그림처럼 충돌이 발생함을 감지해내고 서버 프로세스를 재시작했다는 정보를 알려준다.

Designed by Tistory.