何為forever
forever可以看做是一個(gè)nodejs的守護(hù)進(jìn)程,能夠啟動(dòng),停止,重啟我們的app應(yīng)用。
官方的說(shuō)明是說(shuō):
A simple CLI tool for ensuring that a given script runs continuously (i.e. forever).
// 一個(gè)用來(lái)持續(xù)(或者說(shuō)永遠(yuǎn))運(yùn)行一個(gè)給定腳本的簡(jiǎn)單的命令行工具
Github地址:https://github.com/nodejitsu/forever
用途
forever的用途就是幫我們更好的管理我們node App服務(wù),本質(zhì)上就是在forever進(jìn)程之下,創(chuàng)建一個(gè)node app的子進(jìn)程。
比如,你有一個(gè)基于express的或者其他的一些個(gè)應(yīng)用那么,它將會(huì)很方便你更新和操作你的服務(wù),并且保證你服務(wù)能持續(xù)運(yùn)行。
更好的一點(diǎn)就是每次更改文件,它都可以幫你自動(dòng)重啟服務(wù)而不需要手動(dòng)重啟。
安裝forever
// 記得加-g,forever要求安裝到全局環(huán)境下
sudo npm install forever -g
forever使用說(shuō)明
啟動(dòng)相關(guān)
// 1. 簡(jiǎn)單的啟動(dòng)
forever start app.js
// 2. 指定forever信息輸出文件,當(dāng)然,默認(rèn)它會(huì)放到~/.forever/forever.log
forever start -l forever.log app.js
// 3. 指定app.js中的日志信息和錯(cuò)誤日志輸出文件,
// -o 就是console.log輸出的信息,-e 就是console.error輸出的信息
forever start -o out.log -e err.log app.js
// 4. 追加日志,forever默認(rèn)是不能覆蓋上次的啟動(dòng)日志,
// 所以如果第二次啟動(dòng)不加-a,則會(huì)不讓運(yùn)行
forever start -l forever.log -a app.js
// 5. 監(jiān)聽(tīng)當(dāng)前文件夾下的所有文件改動(dòng)
forever start -w app.js
文件改動(dòng)監(jiān)聽(tīng)并自動(dòng)重啟
// 1. 監(jiān)聽(tīng)當(dāng)前文件夾下的所有文件改動(dòng)(不太建議這樣)
forever start -w app.js
顯示所有運(yùn)行的服務(wù)
forever list
停止操作
// 1. 停止所有運(yùn)行的node App
forever stopall
// 2. 停止其中一個(gè)node App
forever stop app.js
// 當(dāng)然還可以這樣
// forever list 找到對(duì)應(yīng)的id,然后:
forever stop [id]
重啟操作
重啟操作跟停止操作保持一致。
// 1. 啟動(dòng)所有
forever restartall