Node.js の開発と使用がますます普及するにつれて、多くの人が開発プロジェクトに Node.js を使用しています。しかし、実際に使っているとNode.jsが起動しているかどうかが判断できない状況に遭遇することがあります。では、Node.jsが起動したことはどのように判断すればよいのでしょうか?
実際には、Node.js が起動したかどうかを確認する方法はたくさんありますが、以下では、私自身の経験に基づいて、より一般的に使用されるいくつかの方法を紹介します。
Node.js を起動すると、「サーバーはポート 3000 でリッスンしています」などのいくつかの情報がコンソールに出力されます。これは非常に重要です。明らかな信号。この情報が表示されればNode.jsが起動されています。もちろん、この方法はローカルのテスト環境にのみ適していますが、運用環境の場合は他の方法が必要です。
Node.js が起動すると、ポート番号 (通常は 80 または 3000 など) をリッスンします。 Node.js を開始する前に、このポートが占有されているかどうかを確認できます。ポートが占有されていない場合は、Node.js が開始されていません。ポートがすでに占有されている場合は、Node.js が開始されています。もちろん、プロジェクトに複数のポートがある場合、この方法はさらに面倒になります。
Node.js にリクエストを送信することで、Node.js のステータスを確認できます。レスポンスが返ってきたらNode.jsは起動しています。この方法では、リクエスト ライブラリなどのサードパーティ ライブラリを使用する必要があります。
コードは次のとおりです:
var http = require('http'); var request = require('request'); var server = http.createServer(function(req, res) { // 处理请求 }); server.listen(port, function() { request('http://localhost:' + port, function(error, response, body) { if (!error && response.statusCode == 200) { console.log('Node.js 已经启动'); } else { console.log('Node.js 启动失败'); } }); });
PM2 は、管理に役立つ非常に優れたプロセス管理ツールです。 Node.js プロセス (開始、停止、再起動など)。 PM2 を使用して Node.js を起動する場合、Node.js が起動後に実行するコマンドを含む構成ファイルを設定し、Webhook アドレスを設定できます。Node.js が正常に起動すると、リクエストが送信されます。リクエストが成功したかどうかで、Node.js が起動したかどうかを判断できます。
設定ファイルは次のとおりです:
{ "apps": [ { "name": "my-app", "script": "index.js", "watch": true, "env": { "PORT": 3000 }, "webhook": "http://localhost:8080" } ] }
pm2 start Ecosystem.config.js
を実行すると、PM2 は Node.js を開始します。Node.js が正常に開始されると、リクエストはhttp://localhost:8080
に送信されます。このアドレスのサーバー側でリクエストが成功したかどうかを判断するだけで済みます。
要約:
上記のメソッドは、Node.js が開始されているかどうかを判断するのに役立ちます。メソッドが異なれば特性も異なります。特定の状況に応じて使用するメソッドを選択できます。実際のプロジェクトでは、より便利で高速な PM2 を使用して Node.js プロセスを管理することをお勧めします。
以上がNodejsが開始されているかどうかを確認する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。