생활코딩/WEBn

[Node.js] NPM, PM2

hayjo 2020. 9. 14. 16:38

[강의 출처] opentutorials.org/course/3332/21133

 

Node.js - 패키지 매니저와 PM2 - 생활코딩

수업소개 혼자서 소프트웨어를 만드는 일은 거의 없습니다. 타인의 모듈을 이용해서 소프트웨어를 만들게 됩니다. 이 때 사용하는 모듈이 많아지면 여러가지 복잡한 문제가 생겨납니다. 이를 ��

opentutorials.org


 

NPM (Package Manager)

  • python의 pip에 해당
  • 전역에서 사용할 패키지라면 'npm install 패키지명 -g'으로 다운로드가 가능하다. -g는 --global 옵션.
  • 특정 프로젝트에서만 사용할 패키지라면, 해당 경로에서 'npm init' 명령을 통해 프로젝트 초기 설정 후, 다운로드 및 관리할 수 있다.
    • init시에 패키지명을 비롯해 여러 가지를 묻는데, 배포할 게 아니라면 별도 설정 없이 디폴트값을 따라도 된다.
    • init 설정을 마치면 'npm install 패키지명' 으로 패키지 설치가 가능하다.
    • 설치되는 패키지의 dependencies는 자동으로 설치되므로 따로 신경쓰지 않아도 된다.
    • 설치 시 기본 옵션은 -S(--save)로, 설치되는 패키지는 해당 프로젝트 package.json의 dependencies에 기록된다.
    • 개발 시에만 사용하는 패키지를 구분해두고 싶다면 -D(--save-dev) 옵션을 쓰자. devDependencies에 기록된다.

 

[참조] joshua1988.github.io/webpack-guide/build/npm-module-install.html#npm-%EC%84%A4%EC%B9%98-%EB%AA%85%EB%A0%B9%EC%96%B4

 

NPM Module Install | 웹팩 핸드북

NPM 설치 명령어 NPM에서 가장 많이 사용되는 명령어인 npm install에 대해 알아보겠습니다. NPM 지역 설치 NPM 초기화 명령어로 package.json 파일을 생성하고 나면 해당 프로젝트에서 사용할 자바스크립�

joshua1988.github.io

 

PM2

  • production process manager for Node.js applications
  • 프로세스 실행, 운영, 꺼짐 방지, 모니터링, 소스코드 변경시 재시작 등 다양한 기능을 제공
$ pm2 start app.js             // 프로세스 실행
$ pm2 start app.js --watch     // 소스코드 변경시 자동 재실행 옵션

$ pm2 list                     // 현재 실행중인 프로세스 목록 제공
$ pm2 monit                    // 현재 실행중인 프로세스 모니터링

$ pm2 stop app                 // 프로세스 종료
$ pm2 log                      // 로그 출력

$ pm2 kill                     // pm2로 실행한 모든 프로세스를 중지 & 삭제
$ pm2 start main.js --watch --ignore-watch="data/* sessions/*"  --no-daemon
/* --no-daemon: 실행하면서 로그 출력
 * --ignore-watch="data/* sessions/*": 특정 디렉토리에 watch 옵션 제외 */