Node.js の人気が高まるにつれて、HTTP リクエストと応答を処理する Web サーバーを構築および展開するために Node.js を使用するアプリケーションが増えています。 Node.js は HTTP サーバーを起動して実行するための非常に簡単な方法を提供しますが、サービスを停止する必要がある場合、または場合によっては再起動する必要がある場合にサーバーを適切にシャットダウンするために知っておく必要がある、単純だが重要なアクションがいくつかあります。
この記事では、nodejsはhttpサービスを停止します または HTTP リクエストを使用して Node.js HTTP サーバーを停止する方法について説明します。次に、サーバーを確実に正常に停止するために、Node.js HTTP サーバーを停止する方法についていくつかの考慮事項を検討します。
nodejsはhttpサービスを停止します によるサーバーの停止
nodejsはhttpサービスを停止します は、Node.js コマンド ラインで最も基本的でよく使用されるキーボード ショートカットの 1 つです。このキーの組み合わせにより、実行中のプロセスを迅速に終了できます。これは、Node.js HTTP サーバーを停止する場合に便利です。
次の例を見てください。単純な HTTP サーバーを起動し、ポート 3000 でリッスンします。
const http = require('http'); const server = http.createServer((req, res) => { res.statusCode = 200; res.setHeader('Content-Type', 'text/plain'); res.end('Hello World '); }); server.listen(3000, () => { console.log('Server running at http://localhost:3000/'); });
このサーバーは単に Hello World メッセージを返します。このサーバーを停止するには、nodejsはhttpサービスを停止します キーを使用してプロセスを強制終了します。
これにより、開始された Node.js HTTP サーバーがターミナルから強制終了されます。
HTTP リクエストによるサーバーの停止
Node.js HTTP サーバーの実行中に停止したいが、ターミナルを持っていない、またはアクセスできない場合は、次のようにすることができます。 HTTP リクエストを使用してサーバーをシャットダウンします。
これを行うには、現在のサーバー アプリケーションにルートを追加する必要があります。このルートは HTTP リクエストをリッスンし、サーバーの作成時にシャットダウン コールバック関数を実行します。
これは、/stop という名前の HTTP リクエストを受信したときにサーバーのシャットダウン関数を呼び出すルートを追加するサンプル コードです:
const http = require('http'); const server = http.createServer((req, res) => { res.statusCode = 200; res.setHeader('Content-Type', 'text/plain'); res.end('Hello World '); if (req.url === '/stop') { server.close(() => { console.log('Server stopped.'); }); } }); server.listen(3000, () => { console.log('Server running at http://localhost:3000/'); });
この例では、受信ネットワーク リクエストが/stop を指定すると、サーバーはシャットダウン機能を呼び出し、関連するプロンプト メッセージを出力します。
HTTP リクエスト経由でサーバーを停止するこの方法では、サーバーのルートにアクセスできることを確認する必要があります。サーバーのルートにアクセスできない場合、この方法を使用してサーバーを停止することはできません。サーバーでメルトダウンまたはクラッシュが発生した場合、HTTP リクエストでサーバーを停止することはできません。
注意事項
Node.js HTTP サーバーを停止または再起動する必要がある場合には、注意すべき点がいくつかあります。
まず、サーバー アプリケーションが実行中のクライアントからのエラーや例外を適切に処理できることを確認する必要があります。サーバーでメルトダウンまたはクラッシュが発生した場合、nodejsはhttpサービスを停止します または HTTP リクエストではサーバーを停止できない場合があります。このような事態が起こらないようにするには、異常な状態をより適切に診断できるように、アプリケーションに適切なエラー ハンドラーを必ず追加してください。
第 2 に、PM2 などのプロセス マネージャーを使用してアプリケーションを管理する場合は、これらのプロセス マネージャーのコマンド ライン オプションまたは API を使用して、実行中のプロセスを停止または再起動する方法を理解する必要があります。 Process Manager は、サーバー プロセスを停止するためのシンプルなオプションと API を提供すると同時に、サーバーのクラッシュを検出して自動的に再起動します。
最後に、実行中の Node.js HTTP サーバーを停止または再起動できない場合は、サーバー全体または VPS を再起動または強制終了することを検討してください。これにより、サーバー プロセスが強制的に終了されますが、保存されていないデータが失われるため、実行中のすべてのアプリケーションを再起動する必要があることに注意してください。データの損失を回避するには、定期的にデータをハード ドライブまたはクラウド ディスクに保存し、サーバー プロセスを再起動または強制終了する前に必ずバックアップする必要があります。
結論
この記事では、実行中の Node.js HTTP サーバーを停止する方法について説明しました。停止の 2 つの基本的な方法、つまり nodejsはhttpサービスを停止します キーを使用してプロセスを強制終了する方法と、HTTP リクエストを使用してサーバーを停止する方法について説明しました。また、Node.js HTTP サーバーを適切に停止する方法に関するいくつかの注意事項と、サーバーの停止に関連する追加の提案も提供します。これらの考慮事項を理解し、適切なダウンタイム手順に従うことで、Node.js アプリケーションの停止と再起動を効率的かつ安全に行うことができるはずです。
以上がnodejsはhttpサービスを停止しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。