第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會有你想問的

如果node js 停止了該怎么自動起動?

如果node js 停止了該怎么自動起動?

繁星淼淼 2019-11-13 15:11:25
node js 停止了怎么 自動起動
查看完整描述

3 回答

?
墨色風(fēng)雨

TA貢獻(xiàn)1853條經(jīng)驗(yàn) 獲得超6個(gè)贊

forever是一種客戶端的工具,可以使用其使NodeJs服務(wù)在后臺運(yùn)行。同樣,也可以檢測文件的改變?nèi)缓笞詣又貑odeJs服務(wù)。
forever安裝方式如下
# npm install forever –g
運(yùn)行上述命令,等待forever安裝完成,然后我們就可以使用forever了。
# forever start app.js
上面的命令就可以開啟NodeJs服務(wù)了,此時(shí)NodeJs服務(wù)已經(jīng)在后端運(yùn)行。是不是很簡單。當(dāng)然,上面的命令是最基本的開啟NodeJs服務(wù)。但是僅僅用運(yùn)行上述命令我們是沒有辦法查看打印信息的。因此,如果我們需要查看打印信息可以將這些信息輸出到日志文件中。其命令如下
# forever –l /log/forever.log –o /log/out.log –e /log/error.log app.js
這樣,我們再使用console.log()等打印的信息就可以在日志文件中查看到了。
最后就是實(shí)現(xiàn)修改NodeJs代碼以后服務(wù)自動重啟,要使用-w選項(xiàng)。
# forever –l /log/forever.log –o /log/out.log –e /log/error.log –w app.js
這樣,我們就可以達(dá)到最終的目的了。
pm2實(shí)現(xiàn)NodeJs自動重啟
同樣,和forever一樣,pm2也是一種客戶端的工具,也可以使NodeJs服務(wù)在后臺運(yùn)行。并且可以檢測文件的改變?nèi)缓笞詣又貑odeJs服務(wù)。
pm2安裝方式如下
# npm install pm2@latest –g
運(yùn)行上述命令以后,等待pm2安裝完成。
# pm2 start app.js
開啟NodeJs服務(wù)。
# pm2 start –l /log/pm2.log –o /log/out.log –e /log/error.log app.js
將NodeJs的日志和打印的信息以及錯(cuò)誤信息寫進(jìn)日志文件中,并開啟NodeJs服務(wù)。
# pm2 start –l /log/pm2.log –o /log/out.log –e /log/error.log app.js –watch
上述命令可以檢測文件的改變,然后重新啟動NodeJs服務(wù)。
使用是不是很簡單,當(dāng)然pm2的功能遠(yuǎn)不止于此。具體可以參考pm2詳細(xì)教程。
下面介紹一種非常規(guī)的方式。這種方式是根據(jù)自己的開發(fā)環(huán)境自己寫的。有什么不足的地方還請大家多多指正。
通過svn實(shí)現(xiàn)NodeJs的自動重啟
在實(shí)際的開發(fā)中,我本人使用的是linux服務(wù)器。我每次在本地寫完NodeJs代碼以后,通過Svn部署到服務(wù)器上。當(dāng)然,這需要借助svn的鉤子post-commit。也就是通過這個(gè)文件來實(shí)現(xiàn)NodeJs重啟。
對于svn同步代碼到服務(wù)器上,有不清楚的可以參考《Linux服務(wù)器svn遠(yuǎn)程代碼同步》這篇文章。
下面我們直接奉上shell代碼
#!/bin/bash
export.UTF-8

REPOS="$1"
REV="$2"
SVN=/usr/bin/svn
WEB=/www/nodejs
LOG=/data/home/auto_svn.log
$SVN update $WEB --username uname –password password

#To detect whether the node process exists
ps -A | grep node
#
#The $? is 0 if the node process exists,otherwise 1.
#
#If $? is 0,we will kill the node process.
if [ $? -eq 0 ];then
pid=`ps -A | grep node | awk '{print $1}'`
kill -9 $pid
fi
#Start the node process
nohup node /www/nodejs/index.js >> /log/nodejs.log 2>&1 &
這樣我們就可以實(shí)現(xiàn)修改代碼以后自動重啟NodeJs服務(wù)了。
以上就是我要對大家介紹的三種方式。當(dāng)然,這里需要說明一下。使NodeJs自動重啟的方法又很多,它并不是一成不變的,我們完全可以根據(jù)自己的開發(fā)環(huán)境來選擇相應(yīng)的適合自己的方式。
就像一、二兩種方式,那可以說是通用方式,可以用在不同的環(huán)境中。像第三種方式,如果我們是使用svn同步代碼,那就沒有問題。如果我們不是使用的svn同步代碼呢,那它是不是就不適用了。所以說,具體使用哪種方式還要看自己的開發(fā)環(huán)境是怎樣的。



查看完整回答
反對 回復(fù) 2019-11-17
  • 3 回答
  • 0 關(guān)注
  • 1329 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號