Node.js로 실행되는 프로세스를 관리하는 툴입니다.
Linux의 service데몬이라고 생각하시면 쉽게 이해가 되실 겁니다.
PM2의 또 다른 강점은 프로세스를 CPU 코어 수만큼 실행할 수 있다는 것입니다.
1 프로세스로 실행되었을 때의 부담이 줄어들어 서버에 쾌적한 환경을 제공합니다.
패키지 설치부터, 서비스 등록 후 모니터링하는 과정까지 안내합니다.
pm2 설치
PM2 패키지를 설치합니다.
sudo npm install pm2 -g
pm2-logrotate 설치
PM2 log 관리 패키지인 "pm2-logrotate"를 설치합니다.
pm2 install pm2-logrotate
실행
PM2 서비스 등록에 앞서서 프로세스를 실행합니다.
# 실행
# --name: 앱이름 지정
# -i max: CPU코어 개수만큼 실행
# --time: 로그에 시각표시
# 일반 node.js 예시
pm2 start /home/ccusean/index.js --name 앱이름 -i max --time
# express 예시
pm2 start /home/ccusean/bin/www --name 앱이름 -i max --time
상태 확인
실행이 잘 실행되었는지 아래의 명령어로 확인하고, 프로세스가 제대로 실행되었는지 웹브라우저 혹은 클라이언트 프로그램으로 접속해서 확인합니다.
pm2 list
정보 확인
실행된 앱에 대한 정보를 확인하는 명령어입니다.
pm2 info 앱이름
서비스 등록/삭제, 부팅 스크립트
서비스 실행 상태가 정상적인 경우:
"pm2 startup", "pm2 save"를 실행하여 서비스 등록, 스크립트 저장을 합니다.
서비스 실행 상태가 비정상적인 경우:
"pm2 unstartup"을 실행 후 위 "실행"항목에서 잘 못 된 부분을 수정 후 다시 서비스 등록을 실행합니다.
# 서비스 등록
pm2 startup
# pm2 startup 실행 후 나온 스크립트 실행
# ex) sudo env PATH=$PATH:/usr/bin /usr/lib/node_modules/pm2/bin/pm2 startup systemd -u 사용자명 --hp /home/사용자명
# 서비스 삭제
pm2 unstartup
# pm2 unstartup 실행 후 나온 스크립트 실행
# 부팅스크립트 저장
pm2 save
위 작업이 완료되었다면, 이제 서비스 실행 등록 과정은 모두 마쳤습니다.
아래는 서비스 변경 및 관리에 필요한 명령어들입니다.
재시작
코드 수정에 따른 서비스 재실행 명령어입니다.
# 재시작
pm2 reload all
# reset restart count
pm2 reset all
로그
로그를 확인하는 명령어입니다.
# 전체 로그
pm2 logs
# 특정 프로세스 로그
pm2 logs 앱이름
# 200줄 로그
pm2 logs --lines 200
모니터
콘솔 형태의 실시간으로 모니터링할 수 있도록 해주는 명령어입니다.
pm2 monit
반응형
댓글