🚀 PM2 명령어 총정리
PM2는 Node.js 애플리케이션을 관리하는 프로세스 매니저입니다.
이 글에서는 PM2의 주요 명령어와 사용법을 정리합니다.
🔹 PM2 설치
sh
복사편집
npm install -g pm2
- 글로벌(-g)로 설치하여 시스템 어디서든 사용할 수 있도록 합니다.
🔹 애플리케이션 실행
1️⃣ 기본 실행
sh
복사편집
pm2 start app.js
- app.js 파일을 실행하고 PM2로 관리 시작
2️⃣ 실행 시 이름 지정
sh
복사편집
pm2 start app.js --name myApp
- myApp이라는 이름으로 실행하여 관리하기 쉽게 만듦
3️⃣ 여러 개의 애플리케이션 실행
sh
복사편집
pm2 start app.js --name uat1 --port 3000 pm2 start app.js --name uat2 --port 4000
- 같은 파일(app.js)을 다른 포트에서 실행
4️⃣ 클러스터 모드 실행 (멀티 프로세스)
sh
복사편집
pm2 start app.js -i max
- CPU 코어 수에 맞춰 자동으로 여러 개의 프로세스 실행
- -i 2 로 지정하면 2개의 프로세스로 실행
🔹 실행 중인 애플리케이션 관리
1️⃣ 현재 실행 중인 프로세스 목록 확인
sh
복사편집
pm2 list
또는
sh
복사편집
pm2 status
- 실행 중인 애플리케이션 리스트를 확인
2️⃣ 특정 애플리케이션의 상태 확인
sh
복사편집
pm2 show myApp
- myApp의 상태와 실행 정보를 상세히 출력
🔹 애플리케이션 제어
1️⃣ 애플리케이션 재시작
sh
복사편집
pm2 restart myApp
- myApp을 재시작
2️⃣ 모든 애플리케이션 재시작
sh
복사편집
pm2 restart all
- 실행 중인 모든 애플리케이션을 재시작
3️⃣ 애플리케이션 중지
sh
복사편집
pm2 stop myApp
- myApp만 중지
4️⃣ 모든 애플리케이션 중지
sh
복사편집
pm2 stop all
- 모든 애플리케이션을 중지
5️⃣ 애플리케이션 삭제
sh
복사편집
pm2 delete myApp
- myApp을 삭제 (목록에서도 제거됨)
6️⃣ 모든 애플리케이션 삭제
sh
복사편집
pm2 delete all
- 모든 애플리케이션을 삭제
🔹 PM2 로그 확인
1️⃣ 실시간 로그 보기
sh
복사편집
pm2 logs
- 모든 애플리케이션의 로그를 실시간으로 출력
2️⃣ 특정 애플리케이션 로그 보기
sh
복사편집
pm2 logs myApp
- myApp의 로그만 출력
3️⃣ 로그 파일 경로 확인
sh
복사편집
pm2 show myApp
- out.log와 error.log 파일 경로 확인 가능
4️⃣ 로그 파일 삭제
sh
복사편집
pm2 flush
- 모든 애플리케이션의 로그 파일을 삭제
🔹 서버 재부팅 후 자동 실행 설정
1️⃣ 현재 실행 중인 프로세스를 저장
sh
복사편집
pm2 save
- 현재 실행 중인 애플리케이션 목록을 저장
2️⃣ 시스템 부팅 시 자동 실행 설정
sh
복사편집
pm2 startup
- 부팅 시 PM2가 자동으로 애플리케이션을 실행하도록 설정
3️⃣ 자동 실행 해제
sh
복사편집
pm2 unstartup
- 자동 실행 기능을 비활성화
🔹 PM2 설정 파일 (ecosystem.config.js) 사용
PM2를 사용할 때 설정 파일을 만들면 여러 개의 애플리케이션을 한 번에 관리할 수 있습니다.
1️⃣ 설정 파일 생성
sh
복사편집
pm2 init
- ecosystem.config.js 파일이 생성됨
2️⃣ 설정 파일 예제 (ecosystem.config.js)
js
복사편집
module.exports = { apps: [ { name: "uat1", script: "./app.js", env: { NODE_ENV: "production", PORT: 3000, }, }, { name: "uat2", script: "./app.js", env: { NODE_ENV: "production", PORT: 4000, }, }, ], };
- uat1과 uat2 두 개의 애플리케이션을 각각 3000, 4000 포트에서 실행
3️⃣ 설정 파일 적용
sh
복사편집
pm2 start ecosystem.config.js
- 설정 파일을 기반으로 모든 애플리케이션 실행
4️⃣ 설정 변경 후 재적용
sh
복사편집
pm2 reload ecosystem.config.js
- ecosystem.config.js 변경 사항을 반영
🔹 PM2 업데이트 및 재설치
1️⃣ PM2 업데이트
sh
복사편집
pm2 update
- 최신 버전으로 업데이트
2️⃣ PM2 재설치 및 데이터 초기화
sh
복사편집
pm2 uninstall pm2 -g npm install -g pm2 pm2 update
- PM2를 삭제 후 다시 설치하여 문제 해결
'삼분공부 > 기타' 카테고리의 다른 글
[css] CSS 크기 단위 비교 (0) | 2025.04.07 |
---|---|
[Linux] 리눅스 파일 관련 명령어 총정리 (0) | 2025.04.03 |
[Git] You have not concluded your merge (MERGE_HEAD exists). hint: Please, commit your changes before merging. Exiting because of unfinished merge. (0) | 2025.04.01 |
[Git] 프로젝트 수정 중 깃 원격 저장소 주소 변경 시 ! (0) | 2025.02.12 |
[Linux] 리눅스 실시간 로그 명령어 정리 (0) | 2025.02.11 |