2016-10-27 4 views
0

ノードアプリケーションにエラーはありませんが、要求があると停止します。私はログを有効にしてチェックしたが、別の要求でそのログを表示している。ノードアプリケーションが停止するたびに起動する

ノードアプリケーションが停止するたびに起動することはできますか?

現在、私は

nohup npm start &

そして

ps aux | grep node

そして一定殺すためにプロセスIDを見つけるためにアプリを起動するにはノードアプリ

を開始するには、これを使用していますプロセス

kill -9 PID

私はアプリを停止したままにしたくありません。それはいつまでも走っているはずです。だから、それが停止するたびにアプリケーションを起動することは可能ですか?

おかげ

+0

forever.jsをチェックしてください。 – magreenberg

+0

'node'コマンドを実行した端末を閉じない限り、アプリケーションはエラーなしで停止するべきではありません。私は最初に原因を見つけることに興味があります。 私は[forever](https://www.npmjs.com/package/forever)を使用しています。停止した場合、サーバーを再始動します。 –

+0

あなたは 'forever'や' pm2'のようなプロセス管理の依存関係を使うべきです、その機能がサポートされています – thelonglqd

答えて

2

あなたはあなたのためのアプリケーションを監視し、再起動するPM2を使用することができます。 デフォルトでは、PM2でアプリケーションを実行すると、クラッシュした場合に自動的に再起動します。

npm install [email protected] -g 
pm2 start index.js 

複数のインスタンスを実行するためにも使用でき、個々のインスタンスを停止/再起動するコマンドもあります。

pm2 listを使用してプロセスPIDを取得することもできます。


より堅牢なユースケース:

はPM2ラン「NPM開始」を有することで、あなたのアプリを起動しても、それを後で参照するために名前を付け

(それが自動再起動は、それが終了するかどうか/クラッシュ)

pm2 start npm --name="mySuperApp" -- start 

後で、いくつかの変更を行い、それを再起動します:

pm2 restart mySuperApp 

は最終的にあなたがアプリを停止したいですnodemon index.js

here

より多くのドキュメントを見つけることがあなたのアプリケーションまで実行されます:あなたはnpm install -g nodemon

と、このようなあなたのコードを実行すると、それをインストール

nodemon使用することができます

pm2 stop mySuperApp 
+0

私のアプリが止まったら自動的に起動しますか? –

+0

ありがとうございましたpm2は私の人生を簡単にしました:) –

2

エラーが発生しましたが、あなたのコンソールにrsで再起動できますe

+0

これはエラーに遭遇したら自動的にアプリを起動しますか?それを行う可能な方法はありますか? –

+0

私は確信していませんが、nodemonはdev環境でより適していると言われています。[永遠](https://github.com/foreverjs/forever)がprodモードで使用する環境です – mJehanno

関連する問題