使用pm2管理伺服器

pm2的操作

1. 安裝PM2
npm install pm2 -g
2. 啟動服務
pm2 start app.js
3. 啟動N個名為SERVICE_NAME的服務的進程
pm2 start app.js -i N --name SERVICE_NAME
4. 重啟服務
npm restart ㄎ SERVICE_NAME
5. 設定記憶體使用超過多少後自動重啟伺服器
pm2 start app.js --max_memory_restart 1024M
6. 監控服務
pm2 monit

查看服務進程數

1. 查看物理CPU个数
cat /proc/cpuinfo| grep "physical id" | sort| uniq | wc -l

2. 查看每個物理CPU中的核數
cat /proc/cpuinfo| grep "cpu cores"| uniq

3. 查看邏輯CPU的個數
cat /proc/cpuinfo| grep "processor"| wc -l

確認是否使用nginx

nginx的主要功能如下

  • 反向代理,實現簡單的負載均衡: 如果有多台服務器或者一台服務器多個端口,可以考慮用nginx。
  • 靜態資源緩存:把一些靜態資源(如靜態頁面,js等資源文件)放到nginx裡,可以極大的提高服務的性能。

日誌問題

日誌系統對於任意應用而言,通常都是必不可少的一個輔助功能。pm2的相關文件默認存放於$HOME/.pm2/目錄下,其日誌主要有兩類:

  • pm2自身的日誌,存放於$HOME/.pm2/pm2.log;
  • pm2所管理的應用的日誌,存放於$HOME/.pm2/logs/目錄下,標準誰出日誌存放於${APP_NAME}_out.log,標準錯誤日誌存放於${APP_NAME}_error.log;

pm2支持配置文件啟動

pm2 ecosystem:生成配置文件ecosystem.json
pm2 startOrRestart /file/path/ecosystem.json :通過配置文件啟動服務

如下是開發時ecosystem.json的內容:
採用cluster模式啟動了4個服務進程;如果服務佔用的內存超過300M,會自動進行重啟。

更多相關知識請見官網:ecosystem-file

支援自動化部署

一個簡單的process.json範例

/bin/bash:

更多介紹請見官網:simple-deploy

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *