[Supervisor의 역할]
- static 디렉토리 내에 있는 이미지, 자바스크립트 등 파일은 수정하면 바로 반영됨
- 그러나 그외 웹서버 관련 자바스크립트 파일은 수정을 해도 바로 반영되지않음, 서버 재시작을 해야함
- Supervisor는 ctrl+c를 통해 웹서버 구동을 껐다가 다시 시작하는 행동을 개발자가 직접하지않아도 자동으로 하게끔 함
- 사무 자동화랄까?
[Supervisor 설치 및 실행]
- Supervisor는 npm을 통해서 설치함
1) npm install supervisor -g
- 슈퍼바이저를 설치하는데, 서버컴퓨터 전역에서 사용할 수 있도록 -g (옵션값)을 달아줌(어떠한 프로젝트간에 사용가능)
- permission denied가 뜨면 sudo를 붙여 루트 권한으로 설치해줌
2) supervisor를 통해 restart 시킬 app.js(프로젝트 총괄 파일)이 있는 프로젝트 디렉토리로 가기
3) package.json 파일 수정 : scripts 객체 내 start 속성 node에서 supervisor로 변경
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | { "name": "myproject", "version": "0.0.0", "private": true, "scripts": { "start": "supervisor ./bin/www" }, "dependencies": { "body-parser": "~1.17.1", "cookie-parser": "~1.4.3", "debug": "~2.6.3", "ejs": "~2.5.6", "express": "~4.15.2", "morgan": "~1.8.1", "serve-favicon": "~2.4.2" } } | cs |
4) 수정 후 DEBUG=myapp:* npm start 로 똑같이 실행
- ejs 파일 수정 후 바로 새고로침 해보기 : 웹서버 재시작 없이
- 수정되어있을 것
0) supervisor -h : 해당 명령어를 통해 supervisor로 설정할 수 있는 옵션값 설명을 볼 수 있음
- 슈퍼바이저의 역할은 js 파일을 watch 했다가 변경되면 바로 재시작해주는 일을 하기도 하지만 다양하게 사용할 수 있음
[참고자료]
1) npm supervisor 소개 : https://www.npmjs.com/package/supervisor
2) 생활코딩 supervisor : https://opentutorials.org/course/2136/11951
'nodejs' 카테고리의 다른 글
[node.js] 기본 - processing model, module system, async] (0) | 2017.06.04 |
---|---|
[node.js] 모듈과 미들웨어 개념 (0) | 2017.05.23 |
[node.js] express 로그인 정보 전달하기 (0) | 2017.05.15 |
[node.js] express 그리고 템플릿엔진 ejs (0) | 2017.05.01 |
[node.js] express 기본구조 생성 (0) | 2017.04.30 |
댓글