생활
pm2 -node.js 프로세스관리 기능은 어떤건가요?
개발자가 아닌 보안담당자가 어쩌다 운영업무가 추가되었습니다.
그런데 시스템이 node.js로 만들어져 있고, pm2 라는 tool로 관리가 되고있는거 같습니다.
기본적인 시작, 종료기능만 설명들었는데 다른 기능들은 뭐가있나요?
1개의 답변이 있어요!
안녕하세요? 지나가던 웹개발자입니다 :)
Node.js는 원래 싱글쓰레드이기 때문에 단일 CPU 코어에서 실행됩니다. 서버가 멀티 코어일 경우 CPU의 성능을 최대로 활용할 수 없는 것이죠. 이런 문제를 해결하기 위해서는 클러스터 모듈을 통해 여러 마스터 프로세스와 여러 워커 프로세스를 클러스터로 관리할 수 있는 방법을 제공합니다. 다만 워커 프로세스들을 직접 구현하는 것은 생각보다 신경써야할 점이 많습니다.
PM2 는 Node.js 진영에서 가장 널리 쓰이는 프로세스 매니져입니다. 클러스터 모드를 지원해서 위에 말씀드린 CPU를 성능을 효과적으로 활용할 수 있습니다. 또한 예기치 못한 오류나 메모리 리미트 초과로 갑작스럽게 프로세스가 종료되어도 자동으로 재시작해주는 등의 관리 기능을 제공합니다.
$ pm2 start [APP NAME] // 앱 시작 $ pm2 stop [APP NAME] // 앱 종료 $ pm2 list // 프로세스 목록 $ pm2 monit // 프로세스별 실시간 로그 모니터링 $ pm2 show [APP NAME] // 앱 상세 정보 $ pm2 scale [APP NAME] [COUNT] // COUNT 만큼 스케일 업, 다운
PM2는 위에 소개해드린 것 외에도 굉장히 많은 기능이 있습니다. 자세한 내용은 공식 문서 를 확인해보세요.감사합니다. :-)