何為forever forever可以看做是一個nodejs的守護進程,能夠啟動,停止,重啟我們的app應用。 官方的說明是說: A simple CLI tool for ensuring that a given script runs continuously (i.e. forever). // 一個用來持續(或者說永遠)運行一個給定腳本的簡單的命令行工具 Github地址:https://github.com/nodejitsu/forever 用途 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辨認當前是什么環境用的。不加它可能就不知道哦? 一些注意點 有可能你需要使用unix下的crontab(定時任務) 這個時候需要注意配置好環境變量。 SHELL=/bin/sh PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin 后記 毋庸置疑,擁有了Github就擁有了世界。 參考 https://github.com/nodejitsu/forever http://blog.nodejitsu.com/keep-a-nodejs-server-up-with-forever https://github.com/nodejitsu/forever/issues/116
netstat -ntlp 查看端口使用情況