問題タブ [pm2]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
node.js - Docker: ファイルを監視し、コンテナー プロセスを再起動するためのアプローチ
ドッカー内で監視/リロードするための実行可能なアプローチはありますか?
ここでの使用例は開発です。ブランチ間の切り替えにより、1 つ以上のバックエンド、フロントエンド、またはデータベース プロビジョニング ファイルが変更される可能性があります。
例: node.js アプリケーションがあります。サーバーの JS コードが変更された場合は、バックエンド サーバーを再起動します。変更する場合package.json
は、「インストール」コンテナーが必要です (実行され、共有ボリュームnpm install
に保存されます)。node_modules
SQL ファイルが変更された場合は、プロビジョニング コンテナーでpsql
コマンドを再度実行する必要があります。
基本的に、特定のファイルを監視し、それらが変更された場合はプロセスを再起動します (コンテナー自体は技術的に再起動されません)。Supervisord は監視対象ではありませんが、Docker を考慮する必要がなければ、通常は PM2 や Forever などのプロセス マネージャーが最適な選択肢になるようです。
node.js - ノード v0.12.2 以降の負荷分散 - クラスター、pm2、または nginx
Node v0.12.2 では、クラスター モジュールはラウンドロビン (RR) 負荷分散をサポートします。これにより、以前の OS レベルの負荷分散よりも負荷が均等に分散されます。
だから今、私たちは選択のために甘やかされています:
SOに関するこの優れた投稿と他の 回答を認識していますが、RRモードで新しいクラスターモジュールに対処したものはありません。したがって、質問は次のように要約されます。
負荷分散機能のみで判断すると、またはを使用する必要がありますpm2
かnginx
?
node.js - pm2 を使用してノード クラスタを管理する場合、異なるプロセスのログを 1 つのファイルにマージするにはどうすればよいですか?
たとえば、プロセス A には 2 つのログ ファイルがあり、1 つはエラーで、もう 1 つはアウトで、プロセス B も同じ状況です。
node.js - isMaster pm2 と同等
以前は複数のインスタンスを実行するために使用cluster
していましたが、使用を開始したいと考えていますpm2
。ただし、起動したインスタンスの 1 つだけで実行する必要があるプロセスがあります。
isMaster
を使用する場合と同等の、最初に起動されたインスタンスを特定または特定する方法はありますpm2
か?
sails.js - pm2クラスターモードとCSRFを使用したsailsjs
私は、sailsjs アプリpm2
とそのクラスター モードを実行しています。
現在の問題は、CSRF 検証を使用してクロス ドメイン リクエストを作成しているため、適切なアクセス権を持つクラスターは 1 つだけであり、他のクラスターでは「CSRF 不一致エラー」が表示されることです。
CSRFでpm2をどのように使用しますか?
javascript - pm2 の再起動とリロードに関する混乱
「pm2 restart all」を発行すると、pm2 が管理しているすべてのプロセスが再起動されます。
私は疑問に思っています: ソース ファイルのいずれかに変更があった場合、これは実際に変更を再読み込みしますか? または、メモリ内の既存の pm2 プロセスを再起動するだけですか。
node.js - 特定のノード バージョンで pm2 を実行するにはどうすればよいですか?
Linux サーバーで実行されているノードにはいくつかの異なるバージョンがあり、私のサービスはノード v0.11.14 に基づいています。ただし、他の人のコードはノードの下位バージョン (v0.11 未満) で実行する必要があります。そうしないと、サービスが利用できなくなります。そのため、グローバル ノード バージョンを v0.11 と定義することはできません。ノード v0.11 に基づいてサービスを監視するために pm2 を実行したいだけです。
グローバルノードのバージョンを変更せずに、ノード v0.11 で pm2 を実行する方法はありますか? ありがとう
javascript - pm2 使用時に Node.js プロジェクトを自動的にリロードする方法
現在、Express.js を使用して Node.js をプログラミングしています。ファイル ルーターまたはアプリのコード行を変更するたびに、次のコマンドを入力する必要があります。
ファイルが変更されたときに pm2 にプロジェクトを自動リロードさせるにはどうすればよいですか?