최근 서버 개발을 계속 진행중입니다. 서버에서 서비스를 제공 중에, 서버가 꺼지게 되면 서비스도 중단되는 상황이 발생할 수 있습니다. 그래서, 이러한 부분을 예방하고자 pm2를 적용하게 되었습니다.
PM2: 프로세스를 지속적으로 제공해 줄 수 있는 도구 중 하나 (Process Manager)
상기 웹사이트에서 자세한 내용들을 확인가능합니다.
(설치에서부터 사용법까지)
* 설치 ( global로 설치해주어야 합니다 )
npm i pm2 -g
// check the version
pm2 -v
* 기본 사용법
- 'pm2 start 응용프로그램' 형식으로 사용가능합니다.
만약 'consumer.js'에 적용한다면, 아래와 같이 적용 가능합니다.
pm2 start consumer.js
pm2 restart consumer.js
pm2 reload consumer.js
pm2 stop consumer.js
pm2 delete consumer.js
* 사용가능한 options들
- 필요에 따라 사용할 core의 수부터 허용 memory까지 설정가능합니다.
# [--watch] code 내 파일 변화시 자동 restart
pm2 start consumer.js --watch
# [--log <log_path>] Log 파일 설정
pm2 start consumer.js --log <log_path>
# [-i ] 사용할 cpu core 갯수 max로 설정
pm2 start consumer.js -i max
# 사용할 cpu core 갯수 3으로 설정
pm2 start consumer.js -i 3
* Monitoring 기능
pm2 monit
* pm2로 실행 중인 process 리스트 확인 기능
pm2 list
* Interpreter 설정 (특정 interpreter로 설정할 경우)
pm2 start consumer.py --interpreter python3
* 참고 사이트
https://pm2.keymetrics.io/docs/usage/quick-start/#installation
[kafka 설치] Classpath is empty. Please build the project first e.g. by running './gradlew jar 에러 (0) | 2021.02.24 |
---|---|
[linux] 보안 업데이트만 업그레이드 하기 (upgrade only security updates) (0) | 2021.01.14 |
[Ubuntu, linux] PC에 장착된 그래픽 카드 확인 (nvidia 드라이버가 설치되지 않았을 때) (0) | 2021.01.13 |
[Mongo DB] 데이터베이스 생성 / 조회 / 삭제 (0) | 2021.01.12 |
[Mongo DB] 보안 관련 ("READ_ME_TO_RECOVER_YOUR_DATA") (0) | 2021.01.07 |
댓글 영역