私はサーバー用にforverjsを使用していますが、何らかの理由でサーバーが停止し、サーバーが再起動しませんでした。 foreverjsは信頼できますか?nodejs - いつでもアプリケーションの信頼性を保証する方法
他のライブラリを使用する必要がありますか?
pm2、nodemon、upstart、systemd、nginxのような多くのライブラリがあります。私はいつもアプリケーションを動かすべきですか?また、これらのツールは大量の要求を処理できますか?
私はサーバー用にforverjsを使用していますが、何らかの理由でサーバーが停止し、サーバーが再起動しませんでした。 foreverjsは信頼できますか?nodejs - いつでもアプリケーションの信頼性を保証する方法
他のライブラリを使用する必要がありますか?
pm2、nodemon、upstart、systemd、nginxのような多くのライブラリがあります。私はいつもアプリケーションを動かすべきですか?また、これらのツールは大量の要求を処理できますか?
nodemonは良いオプションです、あなたは永遠にして使用してnodemonの組み合わせを使用することができ、
forever start -c nodemon app.js
また、私の経験では永遠には、非常に信頼性が高い、正確に生じたものを見るために
forever logs app.js
を試してみてくださいエラー
あなたの質問には複数の質問があります。
foreverjsは信頼できるですか?
forever
は非常に人気のあるパッケージです。 As seen on GitHubには、75人の貢献者と636人のコミットがあります。この質問は主に意見に基づいていますが、9/10(多分10/10)の経験豊富な開発者はという意味で信頼性が高いと言います。(以下で展開します)。
その他のライブラリを使用する必要がありますか?
信頼性は、選択したパッケージだけでなく、頑丈なソフトウェア設計によって達成されます。私はforever
とpm2
の生産プロセスを何年も問題なく使用してきました。クラッシュした場合にアプリケーションを再起動しようとするなど、信頼性のための優れた機能が含まれています。パッケージは、あなたのコードにターミナルバグを修正するものではありません。
pm2、nodemon、upstart、systemd、nginxのような多くのlibsがあります。 私のアプリケーションが常に稼働していることを確認する必要があります。
これはGitHubの説明を読んで見つけることができます。私はnodemon
を使用して、書かれているようにすぐにコードをテストします。たとえば、私はnodemon
プロセスを開始し、それは私のNode.js
プロセスを開始します。コードを編集して保存を押すと、Node.js
プロセスが自動的に停止し、新しいコードで再開されます。 nodemon
は、シェルを終了するときに停止するため、長期稼動のプロダクションサーバーでは単独で使用しないでください。 pm2
およびforever
は有効なライブラリであり、必要に応じてupstart
,systemd
およびnginx
を調べることができます。
@Kalana Demelの答えについては、上記の説明でforever
を使用してnodemon
を実行すると、forever
を使用することを検討します。
あなたの質問に、全体的な答えのためにすべての時間に私のアプリケーションが信頼性がある
を確保する方法を、あなたのコードが信頼できることを確認するためのテストを書くべきです。効果的な単体テストと統合テストを書いたのであれば、プロセスを実行するパッケージを選択するのは簡単です(信頼性には関係ありません)。
pm2これらのケースでは、私は個人的にすべてのnode.jsサーバーでpm2を使用しています。他のサーバーと比較してより重要な機能がたくさんあります。
これに関する最も良い点の1つは、サーバの分析のためにkeymetrics/newrelicと簡単に統合することができます。
また、pm2はCPU /メモリの使用量を示します。再起動の制限と間隔も設定できます。
私はpm2が好きですが、監視用の[monit](https://mmonit.com/monit/)も提案しています(停止したサービスの電子メールですが、ノードプロセスの再起動はpm2にしておきます。ノードではない)。私が見つけたこと以外は、あなたのコードに正しいエラーを記録させて、同じことが繰り返されるのを防ぐことができます。エラーを知らなくても、そこに座って頭を傷つけることができます。 "これが再び起こらないことを願っています!" – ippi