私は自分のアプリケーションでnginxとpm2を使用するタスクを与えました。クラスタモードでpm2を使用しているnodejsアプリケーションのnginx infrontをどのように使うべきですか?nodejs - アプリケーションをクラスタモードで実行するためにpm2と一緒にnginxをどのように使用するのですか?
また、pm2自体が組み込みのロードバランサを提供していますが、なぜnginxを使用すべきですか?
私は自分のアプリケーションでnginxとpm2を使用するタスクを与えました。クラスタモードでpm2を使用しているnodejsアプリケーションのnginx infrontをどのように使うべきですか?nodejs - アプリケーションをクラスタモードで実行するためにpm2と一緒にnginxをどのように使用するのですか?
また、pm2自体が組み込みのロードバランサを提供していますが、なぜnginxを使用すべきですか?
あなたがNginxを使用している唯一の理由なら、負荷を分散して、それにミスを与えることができます。しかし、私はpm2がNginxに比べてより多く壊れていることを警告しなければならない。
個人的には、静的ファイルの配信、リダイレクト、SSL証明書の処理、エラーページの表示などのNginxに固執することをお勧めします。
Nginxをnodejsの前で使用する最も簡単な方法は、へのプロキシパスで、nodejsによって使用されているポートへのリクエストです。しかし、それを行う前に、いくつかの設定変更を適用したいと思うかもしれません。また、nodejsはNginxが行うことができるほとんどすべてを行うことができますが、それを行うことを意図していませんでした。 guruwinderによって書かれたすべてが正しいですが、質問はあなたが "タスクを与えられた" と述べた
:
は、以下のリンクをご覧ください。他にも、PM2はNginxから提供されていない他のものにも最適です。 PM2ではデーモンとして起動して再起動することができます。コンソールログを監視する。あなたのサーバーとサービスのフードの下で何が起こっているのかを素早く理解してください。ロードバランシングとクラスタ処理のための複数のインスタンス言い換えれば、PM2を使用してロードバランシングを行うことでさらに多くのことが得られます。私はいつもそれを使用して、AWS、Azure、ローカルのMacとWindowsで使用してきました。時々、(特にWindows上で)正しくなるにはちょっとした精巧さが必要ですが、それには価値があります。
Nginxには上記のすべての機能が必要ですが、PM2でこれを実行すると、サービスに対する柔軟性が向上します。しかし、PM2をノードとともに(正確に)実行すると、ノード・アプリケーションがフードの中で何をしているのかについての微調整と実際の理解が可能になります。
Nginxはいつものように使用し、PM2はノードアプリケーション用のノードでバックグラウンドで使用してください。ロードバランシングに関しては、Nginxの制御量に基づいて決定する必要があります。
これはいくつか役立ちます。