【node】利用PM2實現 node服務器 後臺運行和自動重啓

用 express 成功搭建起了項目骨架,接下來要進行開發了。若是你已經作過了 demo,那麼你可能會遇到如下問題:node

  1. npm start啓動服務器以後,只能掛在那裏,不能退出。若是你想執行其餘的命令,須要另外開一個終端窗口;web

  2. 若是你鏈接的是遠程服務器,好比阿里雲的 Linux 服務器,當你關閉終端的時候,服務器一樣會斷開;express

  3. 你在修改代碼文件以後,刷新瀏覽器,發現修改的內容並無生效,你必需手動斷開服務器,再啓動,修改纔會生效。npm

解決這些麻煩,咱們須要服務器至少有兩個能力:後臺運行自動重啓;segmentfault


後臺運行,最簡單的方法是用 Linux 自帶命令nohup,實現進程後臺執行:瀏覽器

nohup bin/www &

執行成功以後,node服務就後臺運行了;同時會在當前目錄下生成 nohup.out 文件,起到日誌的做用服務器

自動重啓,以前一直用 nodemon 這個模塊,npm 全局安裝,執行 nodemon app.js以後,就會監測文件改變自動重啓服務器app


若是說要同時實現這兩個功能,你可能會想到forever,不錯,可是這裏咱們要說pm2,你能夠把 pm2 當作 forever 的升級版,具體差異自行 Google。 負載均衡

pm2 除了後臺運行和自動重啓(0秒重啓)這些基本功能外,還有進程管理,系統監控,日誌處理,負載均衡,還有計劃之中的內存泄露監測,web界面,郵件通知等(做爲小白的我目前用它基本功能就足夠啦哈哈),附上用法:ui

npm install pm2 -g    #全局安裝pm2
pm2 start bin/www     #啓動服務器
pm2 list              #查看運行狀態
pm2 logs              #查看日誌
pm2 restart www       #重啓應用
pm2 stop www          #中止應用

www是用 pm2 啓動進程的名稱,執行pm2 list查看,以下圖:

clipboard.png

立刻動手試試吧!


本文由 楊成功 原創,更多原創文章請點這裏

相關文章
相關標籤/搜索