공식

PM2 - Quick Start

npm pm2 공식

pm2

pm2-logrotate 공식

pm2-logrotate

사용법

<aside> 💡 설치 : npm install pm2 -g
버전확인 : pm2 -version 업데이트 : pm2 update

프로젝트 실행 : pm2 start app.js 중단 : pm2 stop app.js
재시작 : pm2 restart app.js → 프로세스 kill 후 다시 실행 리로드 : pm2 reload app.js → 프로세스를 kill 하지 않고 바로 적용 삭제 : pm2 delete app.js

모든 프로세스 삭제 : pm2 kill

실행목록 확인 : pm2 list , pm2 status , pm2 ls , pm2 l

상세내용 확인 : pm2 describe <id|app_name> , pm2 info <id|app_name> , pm2 show <id|app_name>

정보 모니터링 : pm2 monit

log 확인 : pm2 log → 모든 로그 확인 pm2 logs APP-NAME → 특정 app에 대한 로그 확인 pm2 logs --json → 로그를 json형식으로 출력 pm2 logs --format →형식화된 출력 pm2 logs --lines 200 → log 200줄만 보기

pm2 flush : 지금 사용중인 로그 파일 삭제 pm2 reloadLogs : 로그 다시 불러오기

</aside>

pm2-logrotate

<aside> 💡 설치 : pm2 install pm2-logrotate → 이건 pm2 모듈이다 워낙 사람들이 헷갈려 하다보니 경고 문구가 존재한다. **NOTE:**the command is pm2 install NOT npm install

설치 후 list확인하면 이렇게 모듈이 생성된걸 확인가능

스크린샷 2022-08-22 오후 1.52.01.png

옵션들 :

기본 설정 확인

pm2 conf

기본 옵션을 변경하려면 밑에 예시 명령어 처럼 설정해주면 된다

pm2 set pm2-logrotate:max_size 1M pm2 set pm2-logrotate:retain 14 pm2 set pm2-logrotate:compress false pm2 set pm2-logrotate:rotateInterval 0 0 12 * *

</aside>

pm2 클러스터

Node.js는 기본적으로 싱글 스레드(thread)로 돌아간다.Node.js 애플리케이션은 단일 CPU 코어에서 실행되기 때문에 CPU의 멀티코어 시스템은 사용할 수 없다.그래서 만약 서버의 사양이 8코어이며 16쓰레드면, 프로그램을 돌리는데 최대 16개 코어를 사용 할 수 있지만, 노드는 싱글 스레드 이기 때문에 모든 코어를 사용하지 못해 최대 성능을 내지 못하는, 즉 자원을 제대로 활용하지 못한다.그래서 Node.js는 이런 문제를 해결하기 위해클러스터(Cluster) 모듈을 통해 단일 프로세스를 멀티 프로세스(Worker)로 늘릴 수 있는 방법을 제공한다. 이걸 pm2가 해준다 굿

클러스터 옵션