在Linux部署Nodejs项目,一旦断掉XShell就会导致服务被停掉,真的很郁闷~怎么办?果断用forever
客戶端啟動Node.js應(yīng)用,用node index.js這樣可以正常啟動應(yīng)用,但是如果斷開客戶端連接,應(yīng)用也就隨之停止了。也就是說這樣的啟動方式?jīng)]有給應(yīng)用一個守護線程。
?
首先需要安裝一個叫做forever的騷包
安裝
全局安裝 npm install forever -g
有部分用戶安裝了之后使用forver居然提示-bash: forever: command not found 什么鬼?
原來是沒有做映射
搞一下吧
ln -s /usr/local/nodejs/lib/node_modules/forever/bin/forever /usr/local/bin
注意這里的 /usr/local/nodejs/lib/node_modules/forever/bin/forever是你的forever安裝目錄 一般就是在你首次安裝nodejs的目錄下面
如果出現(xiàn)usr/local/bin/forever?. File exists 就用rm -rf /usr/local/bin/forever?先卸載 再安裝
使用
啟動相關(guān)
// 1. 簡單的啟動(當(dāng)然啟動之前別忘了在項目根目錄npm i)
forever start app.js
// 2. 指定forever信息輸出文件,當(dāng)然,默認(rèn)它會放到~/.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默認(rèn)是不能覆蓋上次的啟動日志,
// 所以如果第二次啟動不加-a,則會不讓運行
forever start -l forever.log -a app.js
// 5. 監(jiān)聽當(dāng)前文件夾下的所有文件改動,并重啟服務(wù)
forever start -w app.js
// 6. 顯示所有運行的服務(wù)
forever list
停止操作
// 1. 停止所有運行的node App
forever stopall
// 2. 停止其中一個node App
forever stop app.js
// 當(dāng)然還可以這樣
// forever list 找到對應(yīng)的id,然后:
forever stop [id]
重啟操作
// 1. 啟動所有
forever restartall
// 2. 重啟其中一個node App
forever restart app.js
如果發(fā)現(xiàn)運行不起來試一試關(guān)掉防火墻
systemctl disable firewalld.service
總結(jié)
以上是生活随笔為你收集整理的在Linux部署Nodejs项目,一旦断掉XShell就会导致服务被停掉,真的很郁闷~怎么办?果断用forever的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: windows7/10开启客户端teln
- 下一篇: [Nuxt.js]Nuxt项目启动如何跳