PM2가 무엇이냐?
Node.js 프로세스 관리 도구라고 생각한다.
Node.js 서버 가동 중 오류 발생으로 종료되면 자동으로 재시작해주고 nodemon처럼 수정내역을 바로 반영시켜 서버를 재 시작할수있다.
pm2 설치
npm install pm2 -g
터미널에 입력만 해주면 설치된다.
pm2로 서버실행
pm2 start app.js
여기서 app.js던 index.js던 main js파일을 실행해주면된다.
정상적으로 실행되면 위의 이미지와 같이 프로세스 목록에 올라온다.
pm2로 서버 실행시 코드 수정내역을 감지 하여 자동으로 재시작하도록 실행(nodemon 처럼 사용)
pm2 start app.js --watch
뒤에 --watch 를 붙여주면된다.
pm2 프로세스 리스트 확인
pm2 list
위에 서버 실행시 나오는 프로세스 목록 확인이 가능하다.
pm2 프로세스 중지
pm2 stop [ID]
pm2 stop 0
pm2 stop 뒤에 pm2 list로 확인한 id를 넣어주면 해당 id의 프로세스가 중지 된다.
여기서 pm2 stop 로 중지시킨 프로세스의 소유권은 PM2가 가지고있다. 종료가 아닌 중지의 개념!
pm2 프로세스 삭제
pm2 delete [id]
pm2 delete 0
pm2 stop 뒤에 pm2 list로 확인한 id를 넣어주면 해당 id의 프로세스가 삭제 된다.
pm2가 관리하는 프로세스에서 삭제 종료의 개념!
pm2 프로세스 재시작
pm2 restart [id]
pm2 restart 0
pm2 restart all
pm2 restart 뒤에 프로세스 id를 넣어주면 재시작 된다.
그런데 맨 마지막에 all은 무엇이냐? 프로세스를 여러개 키는 경우가 있는가?
PM2로 여러 서버를 구동시키거나
PM2는 기본적으로 pm2 start app.js 로 실행시 fork모드 단일 스레드로 사용이 되어 이를 cluster 모드로 여러 스레드를 사용하게 하여 서버 응답속도를 높일수 있다.
다음은 cluster 모드에 대해 알아보자.
'Node.js' 카테고리의 다른 글
[Node.js] PM2 클러스터 모드로 실행해보자 (0) | 2024.05.24 |
---|