일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- phpredis
- Backbone.js
- Switch
- linux
- Redux
- rabbitmq
- Babel
- For
- nodejs
- nginx
- Redis
- fastapi
- mariadb
- NCP
- CentOS
- Machine Learning
- javascript
- python
- php
- SQL
- 기초 수학
- React
- webpack
- Node
- docker
- AWS
- deep learning
- Go
- laravel
- 블레이드 템플릿
- Today
- Total
개발일기
Node.js - PM2로 프로세스 관리하기 본문
Nodejs의 PM2는 여러개의 노드 프로세스를 관리할 수 있는 데몬 프로세스이다. pm2로 애플리케이션을 다운타임없이 재시작할 수 있고, 애플리케이션이 계속 실행되도록 유지할 수 있다. 기존에는 자바스크립트 파일을 테스트하려면 node [파일명]으로 실행하여 터미널이 종료되면 프로세스가 종료되는 단점이 존재했다. 하지만 pm를 사용하면 노드 프로세스를 계속 유지할 수있어 여러모로 편리한 점을 제공한다. 또한 프로세스를 여러개 실행시키면 각 프로세스마다 포트가 할당된다. 이를 통해 로드밸런싱하여 프로세스의 작동을 분할할 수 있다.
1. PM2 설치
npm isntall pm2 -g
yarn add pm2 -g
pm2는 package.json, node_modules없이도 노드 프로세스를 관리할 수 있기에 전역으로 설치해준다.
2. PM2 시작
pm2 start [파일명]
# pm2 start index.js
# pm2 start fruit.js
pm2를 간단하게 시작하려면 start 뒤에 파일명을 붙여 실행하면 된다. 해당 파일에 대한 노드 프로세스가 실행되어 중단없이 앱을 계속 실행할 수 있다.
2-1. PM2 중단
pm2 stop [파일명]
# pm2 stop index.js
# pm2 stop fruit.js
실행중인 프로세스를 중단하려면 stop으로 중단시킨다.
2-2. PM2 재시작
pm2 restart [파일명]
# pm2 restart index.js
# pm2 restart fruit.js
중단된 프로세스를 재시작하려면 pm2 restart를 사용하거나 pm2 start로 재시작 할 수 있다.
2-3. PM2 프로세스 삭제
pm2 delete [파일명]
# pm2 delete index.js
# pm2 delete fruit.js
중단된 프로세스를 프로세스 목록에서 삭제하려면 pm2 delete로 삭제할 수 있다.
3. PM2 목록 확인
pm2 list
pm2 status
pm2 list로 현재 실행중이거나 중단된 프로세스 목록을 확인할 수 있다. pm2 delete로 프로세스를 삭제하면 목록에서 확인할 수 없다.
4. PM2 로그 확인
pm2 log
pm2 logs
현재 실행중인 프로세스에서 찍힌 로그를 확인할 수 있다. 간단하게 확인하려면 index.js파일을 생성 후, console.log로 간단하게 로그를 찍으면 pm2 로그 목록에 해당 로그가 기록된 것을 확인할 수 있다. pm2 log 명령어를 입력하면 로그가 실시간으로 쌓이는 것을 확인할 수 있다. 프로세스는 계속 실행되기 때문에 해당 프로세스에 추가되는 로그를 실시간으로 확인할 수 있다는 특징을 가지고 있다.
4-1. 특정 프로세스의 로그 확인
pm2 log [프로세스 아이디]
# pm2 log 0
# pm2 log 1
# pm2 log 2
# 프로세스 아이디는 pm2 list로 확인 가능
특정 프로세스의 로그를 확인하려면 pm2 list를 통해 프로세스의 id값을 확인 후, pm2 log 뒤에 아이디값을 추가하면 해당 프로세스의 로그를 확인할 수 있다.
5. PM2 모니터링
pm2 monit
프로세스의 목록과 로그를 동시에 확인할 수 있는 모니터링 대시보드를 보여준다.
참고 사이트 :
https://pm2.keymetrics.io/docs/usage/quick-start/
https://hostarmada.com/kb/ssh-and-linux/what-is-pm2-how-to-use-it/
https://ysoni0303.medium.com/all-about-pm2-3d25cc44b4d2
'Javascript > Node.js' 카테고리의 다른 글
Node.js - Babel이란? (0) | 2021.09.16 |
---|---|
npm install 옵션의 차이 (0) | 2021.09.16 |
Node.js - package.json이란? (0) | 2021.09.03 |
Node.js - Express 웹 서버 만들기 (0) | 2021.08.30 |