Dev Blog

스크립트 & 소스코드 공유

실무에서 유용하게 쓰는 스크립트와 코드 조각을 블로그 게시판으로 저장하고 공유합니다.

1건의 글

Node.js PM2 설치와 활용 - 자동 실행·모니터링·로그

Node.js 프로세스 매니저 PM2의 설치와 활용법을 정리한 글이다. npm install pm2 -g로 설치하고, pm2 start main.js --watch로 파일 변경 시 자동 재시작, --no-daemon 옵션, pm2 list·monit·log로 상태와 로그를 확인하고 pm2 stop·kill로 종료하는 방법을 설명한다. PowerShell에서 실행 차단 오류가 날 때 해결 방법도 포함한다.

제공해주신 PM2(Node.js 프로세스 관리 도구) 사용법과 트러블슈팅 내용을 마크다운 형식으로 깔끔하게 정리해 드립니다.

PM2: Node.js 프로세스 관리 및 자동 실행 가이드

PM2는 Node.js 애플리케이션을 24시간 중단 없이 실행할 수 있도록 도와주는 프로세스 매니저입니다. 서버가 예기치 않게 종료되어도 자동으로 재시작해주는 강력한 기능을 제공합니다.


1. 설치 방법 및 오류 해결

기본 설치

터미널(콘솔)에서 아래 명령어를 입력하여 전역(-g)으로 설치합니다.

npm install pm2 -g

트러블슈팅: uuid 관련 경고 발생 시

설치 중 [email protected] 관련 업데이트 경고가 발생한다면, 최신 버전으로 업데이트하여 해결할 수 있습니다.

npm install uuid@latest -g

트러블슈팅: Windows 스크립트 실행 권한 오류

Windows 환경에서 "이 시스템에서 스크립트를 실행할 수 없으므로..."라는 오류가 발생한다면, PowerShell을 관리자 권한으로 실행한 뒤 아래 명령어를 입력하세요.

set-ExecutionPolicy RemoteSigned

2. 주요 실행 명령어

명령어 설명
pm2 start main.js --watch 파일을 상시 실행하며, 파일 수정 시 자동으로 재시작함
pm2 start main.js --watch --no-daemon 백그라운드가 아닌 상태로 실행 (실시간 로그 확인 가능)
pm2 start main.js --watch --ignore-watch="data/* sessions/*" 특정 디렉토리(data, sessions)의 변경사항은 무시하고 실행 유지

3. 관리 및 모니터링 명령어

  • 실행 리스트 확인

    pm2 list

    현재 실행 중인 프로세스의 이름(Name), ID, 상태 등을 확인할 수 있습니다.

  • 실시간 모니터링

    pm2 monit

    프로세스의 리소스 사용량(CPU, Memory)을 실시간으로 확인합니다.

  • 로그 확인

    pm2 log

    애플리케이션에서 출력되는 로그 기록을 실시간으로 확인합니다.


4. 중지 및 삭제

  • 특정 프로세스 중지

    pm2 stop [Name]
    # 예: pm2 stop main

    pm2 list에서 확인한 프로세스 이름을 입력하여 중지합니다.

  • 모든 프로세스 종료

    pm2 kill

    실행 중인 모든 PM2 프로세스를 완전히 종료합니다.




Let's create something great together.

프로젝트 문의 및 견적 요청은 언제든 환영합니다.