2017-05-03 1 views
0

私はサーバー用にforverjsを使用していますが、何らかの理由でサーバーが停止し、サーバーが再起動しませんでした。 foreverjsは信頼できますか?nodejs - いつでもアプリケーションの信頼性を保証する方法

他のライブラリを使用する必要がありますか?

pm2、nodemon、upstart、systemd、nginxのような多くのライブラリがあります。私はいつもアプリケーションを動かすべきですか?また、これらのツールは大量の要求を処理できますか?

+0

私はpm2が好きですが、監視用の[monit](https://mmonit.com/monit/)も提案しています(停止したサービスの電子メールですが、ノードプロセスの再起動はpm2にしておきます。ノードではない)。私が見つけたこと以外は、あなたのコードに正しいエラーを記録させて、同じことが繰り返されるのを防ぐことができます。エラーを知らなくても、そこに座って頭を傷つけることができます。 "これが再び起こらないことを願っています!" – ippi

答えて

0

nodemonは良いオプションです、あなたは永遠にして使用してnodemonの組み合わせを使用することができ、

forever start -c nodemon app.js 

また、私の経験では永遠には、非常に信頼性が高い、正確に生じたものを見るために

forever logs app.js 

を試してみてくださいエラー

2

あなたの質問には複数の質問があります。

foreverjsは信頼できるですか?

foreverは非常に人気のあるパッケージです。 As seen on GitHubには、75人の貢献者と636人のコミットがあります。この質問は主に意見に基づいていますが、9/10(多分10/10)の経験豊富な開発者はという意味で信頼性が高いと言います。(以下で展開します)。

その他のライブラリを使用する必要がありますか?

信頼性は、選択したパッケージだけでなく、頑丈なソフトウェア設計によって達成されます。私はforeverpm2の生産プロセスを何年も問題なく使用してきました。クラッシュした場合にアプリケーションを再起動しようとするなど、信頼性のための優れた機能が含まれています。パッケージは、あなたのコードにターミナルバグを修正するものではありません。

pm2、nodemon、upstart、systemd、nginxのような多くのlibsがあります。 私のアプリケーションが常に稼働していることを確認する必要があります。

これはGitHubの説明を読んで見つけることができます。私はnodemonを使用して、書かれているようにすぐにコードをテストします。たとえば、私はnodemonプロセスを開始し、それは私のNode.jsプロセスを開始します。コードを編集して保存を押すと、Node.jsプロセスが自動的に停止し、新しいコードで再開されます。 nodemonは、シェルを終了するときに停止するため、長期稼動のプロダクションサーバーでは単独で使用しないでください。 pm2およびforeverは有効なライブラリであり、必要に応じてupstart,systemdおよびnginxを調べることができます。

@Kalana Demelの答えについては、上記の説明でforeverを使用してnodemonを実行すると、foreverを使用することを検討します。

あなたの質問に、全体的な答えのためにすべての時間に私のアプリケーションが信頼性がある

を確保する方法を、あなたのコードが信頼できることを確認するためのテストを書くべきです。効果的な単体テストと統合テストを書いたのであれば、プロセスを実行するパッケージを選択するのは簡単です(信頼性には関係ありません)。

0

pm2これらのケースでは、私は個人的にすべてのnode.jsサーバーでpm2を使用しています。他のサーバーと比較してより重要な機能がたくさんあります。
これに関する最も良い点の1つは、サーバの分析のためにkeymetrics/newrelicと簡単に統合することができます。
また、pm2はCPU /メモリの使用量を示します。再起動の制限と間隔も設定できます。

関連する問題