프로그래밍/개발툴 설치정보

[nodejs] PM2로 무중단 서비스를 해보자.

Nadahacker 2022. 10. 1. 14:06
반응형

nodejs 배포를 위한 PM2 설치 해보고 기본적인 기능을 알아보도록하자.

 

1. PM2 설치

npm install -g pm2@latest

2. 이제 열심히 nodejs 개발해보자. 머든지...

 

3. 개발한 nodejs의 서비스를 PM2로 시작해보자.

pm2 start app.js
nadahacker@nadahacker:~/work/hogalabServer$ pm2 start app.js
[PM2] Starting /home/nadahacker/work/hogalabServer/app.js in fork_mode (1 instance)
[PM2] Done.
┌────┬────────────────────┬──────────┬──────┬───────────┬──────────┬──────────┐
│ id │ name               │ mode     │ ↺    │ status    │ cpu      │ memory   │
├────┼────────────────────┼──────────┼──────┼───────────┼──────────┼──────────┤
│ 0  │ app                │ fork     │ 0    │ online    │ 0%       │ 32.2mb   │
└────┴────────────────────┴──────────┴──────┴───────────┴──────────┴──────────┘
nadahacker@nadahacker:~/work/hogalabServer$

id : 서버스 번호

name : 서비스 이름

mode : form cluster 모드등으로 나타난다.

restart

: Restart 횟수

 

status : 현재 서버 상태 (online, stop)

cpu : 점유율

memory : 사용메모리

 

4. name에 app.js를 나만에 이름으로 변경해보자.

-n 옵션을 사용하면 이름을 변경할수 있다. 

pm2 start app.js -n myApplication
nadahacker@nadahacker:~/work/hogalabServer$ pm2 start app.js -n myApplication
[PM2] Starting /home/nadahacker/work/hogalabServer/app.js in fork_mode (1 instance)
[PM2] Done.
┌────┬────────────────────┬──────────┬──────┬───────────┬──────────┬──────────┐
│ id │ name               │ mode     │ ↺    │ status    │ cpu      │ memory   │
├────┼────────────────────┼──────────┼──────┼───────────┼──────────┼──────────┤
│ 0  │ myApplication      │ fork     │ 0    │ online    │ 0%       │ 18.2mb   │
└────┴────────────────────┴──────────┴──────┴───────────┴──────────┴──────────┘
nadahacker@nadahacker:~/work/hogalabServer$

5. 마지막으로 PM2의 기본 명령어들을 알아보자.

 

  • pm2 start example.js : pm2를 실행하는 명령, 서버 메인 파일을 기동할 때 사용한다. 
  • pm2 reload : 수정한 사항을 프로세스에 반영하고 싶을 경우 프로세스를 재시작해준다. 
  • pm2 kill : 실행중인 pm2 daemon을 종료시킨다.
  • pm2 list : 실행중인 pm2의 리스트들을 조회 할 수 있다. 
  • pm2 stop <name | id | namespace | script | all | json | stdin...> : 특정 프로세스를 중단 할 때 사용한다.
  • pm2 delete <name | id | namespace | script | all | json | stdin...> :특정 프로세스를 제거할 때 사용한다
  • pm2 log : 실행중인 PM2 Daemon의 log를 확인하는 명령어 
  • pm2 monit : pm2로 실행한 서버들의 상황을 한눈에 확인 할 수 있는 명령어

 

언제 할지 모르지만 다음편엔 PM2를 이용해 멀티프로세서 사용해보자.

 

 

반응형