我們用ssh遠(yuǎn)程登錄,打開(kāi)的node服務(wù),只要我們終端關(guān)閉,就會(huì)出現(xiàn)node服務(wù)被殺死的情況。這是因?yàn)長(zhǎng)inux的自身機(jī)制,如果要解決這個(gè)在后臺(tái)運(yùn)行的問(wèn)題,可以有如下方法
- 使用nohup命令
sudo nohup node ./bin/www &
&這個(gè)是代表放在后臺(tái)運(yùn)行
如果上面的命令行運(yùn)行成功了,你使用jobs命令顯示出當(dāng)前后臺(tái)運(yùn)行的進(jìn)程 - 修改/etc/rc.d/rc.local文件
把要執(zhí)行的命令寫入這個(gè)文件。因?yàn)檫@個(gè)文件是開(kāi)機(jī)啟動(dòng)項(xiàng),每次開(kāi)機(jī)的時(shí)候,系統(tǒng)會(huì)去touch它然后會(huì)執(zhí)行這些命令行。 - 使用系統(tǒng)定時(shí)任務(wù),讓系統(tǒng)在指定時(shí)間執(zhí)行某個(gè)后臺(tái)任務(wù)
上面三種方法來(lái)自慕課網(wǎng) Linux教程
- 使用 forever
forever是一個(gè)簡(jiǎn)單的命令式nodejs的守護(hù)進(jìn)程,能夠啟動(dòng),停止,重啟App應(yīng)用。forever完全基于命令行操作,在forever進(jìn)程之下,創(chuàng)建node的子進(jìn)程,通過(guò)monitor監(jiān)控node子進(jìn)程的運(yùn)行情況,一旦文件更新或進(jìn)程掛掉,forever會(huì)自動(dòng)重啟node服務(wù)器,確保應(yīng)用正常運(yùn)行。
//全局安裝
npm install forever -g
//啟動(dòng)
forever start app.js
//關(guān)閉
forever stop app.js
//輸出日志和錯(cuò)誤
forever start -l forever.log -o out.log -e err.log app.js
//自動(dòng)監(jiān)控文件變化,文件修改保存之后自動(dòng)重啟app.js
forever -w app.js
//查看幫助
forever -h
- 使用 pm2
npm install -g pm2
pm2 start app.js -i max //啟動(dòng)一個(gè)使用所有CPU核心的集群
pm2 list //列出所有pm2開(kāi)啟的進(jìn)程
pm2 monit
pm2 logs //打印日志
以上兩種來(lái)自網(wǎng)上博客資料未經(jīng)驗(yàn)證