Skip to main content

Tedshd's Dev note

Node PM2 使用紀錄

Table of Contents

# 介紹

PM2 是一個可以方便處理 node process 的工具

大多用於線上環境

這邊主要紀錄 PM2 的一些用法與指令

# 基本使用

可以參考官方文件 PM2 Process Management Quick Start

安裝

npm install pm2 -g

啟動

pm2 start <要啟動的 js>

通常建議啟動時的指令搭配以下參數(更多參數請詳閱文件)

# Specify an app name
--name <app_name>

# Watch and Restart app when files change
--watch

# Set memory threshold for app reload
--max-memory-restart <200MB>

# Specify log file
--log <log_path>

# 重新載入

pm2 reload <要重啟的 app>

大多用於程式部署更新後, 有較好的體驗(和 restart 相比)

可以參考以下比較

refer - What is the difference between pm2 restart and pm2 reload

# log 紀錄

推薦使用 pm2-logrotate

來處理 logrotate

當然如果有指定 log path 的話, 用系統處理 logrotate 也是可以的

如果要清空 log

可以使用 pm2 flush

# 監控

預設有兩種

  1. Terminal
pm2 monit

就會開啟終端機的 dashboard 可以監控狀態

  1. web
pm2 plus

或是用

app.pm2.io

# LOAD-BALANCING

pm2 已經內建負載平衡的功能

LOAD-BALANCING (CLUSTER MODE)