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