Nodejs 使用pm2實現開機自啟

公司有個nodejs的云服務,但是沒在開機自啟的進程中,如果服務器因為某種原因 reboot 的話,服務就掛掉了。這肯定是不允許的。so 想要寫個腳本,來實現開機自啟。奈何 shell 太渣渣,搞不定。所以在社區找到了pm2,可以把nodejs加到自啟服務中。

pm2有一些優勢:

  • 自帶負載均衡功能的node應用進程管理器
  • 可以監控應用CPU和內存情況
  • 操作簡單
  • 非常適合IaaS結構

pm2也有劣勢:

  • 不適合PaaS結構

拓展:

  • SaaS: Software-as-a-Service 軟件即服務,例如Google的Gmail,把軟件做成服務
  • IaaS: Infrastructure-as-a-Service 基礎設施即服務,這是我們最常見的云端接口,網站等
  • PaaS: Platform-as-a-Service 平臺即服務,專門做平臺服務,例如新浪云等
    詳細了解參見云服務模式:SaaS、PaaS和IaaS,哪一種適合你?
1、全局安裝pm2
$ npm install pm2 -g
2、找到項目的目錄,并使用pm2啟動node服務
$ cd /usr/share/nginx/wechat-iot
$ pm2 start app.js
[PM2] Starting app.js in fork_mode (1 instance)
[PM2] Done.
┌──────────┬────┬──────┬───────┬────────┬─────────┬────────┬─────────────┬──────────┐
│ App name │ id │ mode │ pid   │ status │ restart │ uptime │ memory      │ watching │
├──────────┼────┼──────┼───────┼────────┼─────────┼────────┼─────────────┼──────────┤
│ app      │ 0  │ fork │ 12120 │ online │ 0       │ 0s     │ 15.863 MB   │ disabled │
└──────────┴────┴──────┴───────┴────────┴─────────┴────────┴─────────────┴──────────┘
 Use `pm2 show <id|name>` to get more details about an app
3、把node服務加到進程
$ pm2 startup centos #pm2 startup ubuntu
$ pm2 save 

其他命令

$ pm2 stop app.js #停止node服務
$ pm2 restart app.js #重啟node服務
$ pm2 delete app.js #在進程中刪除
$ pm2 status #查看狀態
$ pm2 monit #查看占用的CPU和內存
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容