ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Node.js 애플리케이션 관리 프로세스 매니저, pm2란?
    Server/AWS,서버관리 2024. 12. 6. 09:46

    이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.

    pm2에 대해서 정리해두자.

    pm2란?

    Node.js 애플리케이션을 관리하기 위한 프로세스 매니저로, 특히 서버 애플리케이션의 안정성과 성능을 유지하기 위해 널리 사용된다. PM2는 애플리케이션의 실행, 관리, 모니터링 등을 쉽게 수행할 수 있도록 다양한 기능을 제공한다.

     

    주요기능

    프로세스 관리

    • Node.js 애플리케이션을 백그라운드에서 실행하고, 중단 없는 실행을 보장
    • 애플리케이션이 중단되거나 크래시 날 경우 자동으로 재시작
    • 애플리케이션의 실행, 중지, 재시작 등을 명령어로 간단히 제어

    로드 밸런싱, 클러스터 모드

    • 여러 CPU 코어를 활용할 수 있도록 클러스터 모드를 지원하여 Node.js 애플리케이션 성능 극대화
    • 클러스터 모드로 트래픽을 균등하게 분배.

    로그 관리

    • 실행 중인 애플리케이션의 로그를 관리하고 로그를 실시간으로 확인할 수 있다.

    모니터링

    • 메모리 사용량, CPU 부하, 요청 처리량 등의 애플리케이션 상태를 실시간으로 모니터링할 수 있다.

    간편한 배포

    • pm2 deploy 명령어를 통해 애플리케이션의 배포 및 업데이트를 자동화할 수 있다.

    JSON 설정 파일

    • ecosystehttp://m.config.js 파일을 사용해 여러 애플리케이션의 설정(환경 변수, 실행 옵션 등)을 관리할 수 있다.

     

    설치방법

    PM2 설치

    Node.js가 설치된 환경에서 실행 가능하다.

    $ npm install pm2 -g

     

    애플리케이션 실행

    $ pm2 start app.js

     

     

    주요 명령어

    1. 시작

    $ pm2 start app.js

     

    2. 재시작

    $ pm2 restart app.js
    $ pm2 restart {id}

     

    3. 갱신

    $ pm2 reload app.js
    $ pm2 reload {id}

     

    4. 중지

    $ pm2 stop app.js
    $ pm2 stop {id}

     

    5. 삭제

    $ pm2 delete app.js
    $ pm2 delete {id}

     

    애플리케이션 상태 확인

    1. 요약정보 확인

    $ pm2 list
    $ pm2 ls
    $ pm2 status

     

    2. 로그 확인

    $ pm2 logs
    $ pm2 logs --line 1000
    $ pm2 logs --err
    $ pm2 logs --out
    • pm2 logs --line 1000
    • pm2 logs --err ( --err , --out )

     

    3. 모니터링 대시보드 실행

    $ pm2 monit

     

     

     

    Node.js 프로세스 매니저는 pm2, forever, npm, yarn등이 있고, 과거에는 forever가 대세였으나 추가가 pm2로 넘어오고 넘어 왔다고도 볼 수 있다.

     

    bash 환경에서 npm start를 통해서 웹서버를 실행할 수는 있지만 bash창을 끄면 그와 동시에 서버가 다운되지만 forever 및 pm2를 사용하여 서버를 실행하게 되면 백그라운드로 프로세스를 실행된다.

     

     

     

     

     

     

     

     

    이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.

    댓글

Designed by Tistory.