생활코딩

Coding Everybody

코스 전체목록

닫기

보충수업 - PM2 사용법

수업소개

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

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

pm2 kill

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

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

 

 

 

강의

 

 

댓글

댓글 본문
  1. 수두니
    [PM2][ERROR] Error: No script path - aborting 해결하신 분 계실까요?ㅠㅠ
  2. 라온
    감사합니다~(2020/11/07) 완료
  3. Yong Hyun Lee
    정말 감사합니다.
    수강완료 201002
  4. 착한얼굴에그러치모탄태도
    passport 에서 왓다감~
  5. 바다의왕자
    완료
  6. bomnie
    nodejs 강의 수강 완료! 감사합니다!
  7. eddylee123456
    복습
  8. eddylee123456
    완료
  9. 스티븐잡숴
    아! 그렇군요. 답변 감사합니다~!
    대화보기
    • jimmyzip
      그때 그때 로그도 바로 볼 수 있으면 그 자체로 이득이 아닐까 싶습니다.
      이고잉님이 설명해주시는대로 따라해서 잘 되면 그 순간에는 단순히 watch만 해서
      소스코드 변경 시 브라우저 렌더링만 보고 넘어가실 수도 있겠지만
      혼자 응용해서 다른 걸 하실 때에는 no-daemon으로 로그를 바로 보는게 핵이득이실거라 생각해요.
      잘 해서 (에러)로그를 볼 필요가 없으시면 "음 ~~ 나 잘 하고 있군"의 보증이 되고,
      뭔가 잘 안되면 로그가 바로바로 나오니까 원인 파악하기 위해 >pm2 log를 날리는 수고 한 번을 덜어도 되고
      대화보기
      • 스티븐잡숴
        굳이 --no-daemon을 해야하는 이유가 뭔지 궁금합니다.
        백그라운드 프로세스를 못하게 해서 얻는 이득이 뭐길래 이런 옵션을 입력해야만 하죠?
      • 임은정
        보충까지 끝
        고생하셨습니다
        전 처음부터 다시 봐야할것가탕용
      • codinginpain
        감사합니당!
      • 욕심쟁이
        잘되네요. 좋은 정보 감사합니다.
        대화보기
        • 굼벵이
          완료
        • 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 자세히 보기