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.