Node.js

보충수업 - PM2 사용법

수업소개

앞으로 학습하다보면 pm2의 동작 방법을 몰라서 고생할 수 있는 지점들이 있습니다. 이를 완화하기 위해서 추가로 제작된 수업입니다. 

pm2로 실행한 모든 프로세스를 중지 & 삭제 합니다. 

pm2 kill

아래 명령은 pm2를 실행하면서 로그가 출력되도록 합니다. (--no-daemon) 또 특정 디랙토리에 대한 watch를 하지 않도록 하는 방법입니다. 

pm2 start main.js --watch --ignore-watch="data/* sessions/*"  --no-daemon

 

 

 

강의

 

 

댓글

댓글 본문
작성자
비밀번호
  1. 욕심쟁이
    잘되네요. 좋은 정보 감사합니다.
    대화보기
    • 굼벵이
      완료
    • shtkan
      pm2 --ignore-watch 위준우님 설명에 덧붙입니다.

      프로젝트가 있는 폴더에서 콘솔에 아래 입력합니다.
      pm2 ecosystem

      그러면 프로젝트 폴더에 ecosystem.config.js 파일이 생성됩니다.
      이 파일 메모장으로 열어서 ignore할 폴더를
      ignore_watch : ["node_modules", "client/img"],
      이런식으로 추가해줍니다.
      파일 위쪽에 script에 기본적으로 app.js라고 되어 있을 건데
      자신의 스크립트 파일명으로 바꿔주세요.(강의에서는 main.js를 사용하죠)

      그리고 시작을 콘솔에서 아래와 같이 합니다.
      pm2 start ecosystem.config.js

      이렇게 하면 ecosystem.config.js 이 파일에 있는 설정대로 실행시킵니다.
      2019년 8월 18일 현재 이방법으로 되네요.
    • Jongyong Park
      190726 보충수업까지 완강 하였습니다
      감사합니다.
    • 허공
      190510 감사합니다.
    • 위준우
      --ignore-watch 해결방법
      pm2 init 혹은 pm2 ecosystem을 입력해주면 ecosystem.config.js 파일이 생성됩니다.
      pm2 설정파일 생성 사이트링크 : http://pm2.keymetrics.io......on/

      apps 설정부분에 ignore_watch: ["data/*", "sessions/*"]를 추가해주시면 해결됩니다.
      pm2 설정부분 사이트링크 : http://pm2.keymetrics.io......rt/
    • 위준우
      완료
    • supernet
      감사합니다.
    • --ignore-watch 안먹히시는 분! 저는 아래처럼 해결했습니다.
      npm install pm2@2.10.4 -g
      즉 콘솔창에 위 붙여넣기 해서 다시 설치 했더니 해결됬습니다 : )
      피같은 2시간 걸렸습니다 ㅠㅠ
    • 권문수
      감사합니다^^ 이걸로 기본 노트js수업은 모두 끝이군요 ㅎㅎ
    • 칼립소
      감사히 잘 봤습니다 node.js 서버 수업보다는 약간 쉬운 수업이었어요!
    • popinbompin
      저도 윈10인데 -watch로 실행해도 바로 꺼지는 듯합니다.
      list옵션을 주고 확인하면 프로세스가 죽어있네용... (해결법 아시는 분 코맨트점 부탁드려요!!)
    • 김나다
      윈도우 10 사용자인데 no deamon 명령어도 잘 실행됩니다.
      왜 ignore watch는 실행이 안될까요...
      디렉토리 위치도 강의와 모두 똑같습니다.
      여전히 create나 update 하면 재실행되네요

      혹시몰라서 data/* 을 data/CSS 로 임의로 아무 파일을 고정해서 하니 이때는 정상적으로 재실행이 안됩니다!
      왜그런걸까요..
    • 삼고잉
      첫번째 훑기
    • yolong
      동영상 정말 잘 보고 있습니다.
      node js 실습 잘 하고 있었는데 PM2 설치 이후 갑자기 localhost:3000이 웹에서 안열립니다.
      윈도우 10 사용하고 있구요.
      cmd에서 pm2 start main.js 실행하면 status online으로 뜨는데요
      웹에서는 사이트에 연결할 수 없음이 뜹니다.
      pm2 kill 하고 start main.js --watch --no-daemon치면
      App [main] with id [0] and pid [21028] exited with code [0] via signal [SIGINT]
      Satrting execution sequence in -fork mode- for app name:main id 0
      PM2 log: App name: main id:0 online
      App name id:0 online
      PM2 log: App [main] with id [0] and pid [21028]. exited with [0] via signal [SIGINIT]

      라는 문구가 pid 뒤의 숫자만 바뀌면서 멈추지 않고 무한 반복합니다.
      어떻게 하면 해결할 수 있을까요? ㅠ_ㅠ
    버전 관리
    egoing
    현재 버전
    선택 버전
    graphittie 자세히 보기