使用forever執行nodejs應用

百聯達發表於2014-07-10
forever可以看做是一個nodejs的守護程式,能夠啟動,停止,重啟我們的app應用。

用途

forever的用途就是幫我們更好的管理我們node App服務,本質上就是在forever程式之下,建立一個node app的子程式。

比如,你有一個基於express的或者其他的一些個應用那麼,它將會很方便你更新和操作你的服務,並且保證你服務能持續執行。

更好的一點就是每次更改檔案,它都可以幫你自動重啟服務而不需要手動重啟。

安裝forever

// 記得加-g,forever要求安裝到全域性環境下 sudo npm install forever -g 

forever使用說明

啟動相關

// 1. 簡單的啟動 forever start app.js // 2. 指定forever資訊輸出檔案,當然,預設它會放到~/.forever/forever.log forever start -l forever.log app.js // 3. 指定app.js中的日誌資訊和錯誤日誌輸出檔案, //  -o 就是console.log輸出的資訊,-e 就是console.error輸出的資訊 forever start -o out.log -e err.log app.js // 4. 追加日誌,forever預設是不能覆蓋上次的啟動日誌, //  所以如果第二次啟動不加-a,則會不讓執行 forever start -l forever.log -a app.js // 5. 監聽當前資料夾下的所有檔案改動 forever start -w app.js 

檔案改動監聽並自動重啟

// 1. 監聽當前資料夾下的所有檔案改動(不太建議這樣) forever start -w app.js 

顯示所有執行的服務

forever list 

停止操作

// 1. 停止所有執行的node App forever stopall // 2. 停止其中一個node App forever stop app.js // 當然還可以這樣 // forever list 找到對應的id,然後: forever stop [id] 

重啟操作

重啟操作跟停止操作保持一致。

// 1. 啟動所有 forever restartall 

 

開發和線上建議配置

// 開發環境下 NODE_ENV=development forever start -l forever.log -e err.log -a app.js // 線上環境下 NODE_ENV=production forever start -l ~/.forever/forever.log -e ~/.forever/err.log -w -a app.js 

上面加上NODE_ENV為了讓app.js辨認當前是什麼環境用的。不加它可能就不知道哦?

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28624388/viewspace-1215409/,如需轉載,請註明出處,否則將追究法律責任。

相關文章