Heim  >  Artikel  >  Web-Frontend  >  So schließen Sie eine Node.js-Anwendung ordnungsgemäß

So schließen Sie eine Node.js-Anwendung ordnungsgemäß

PHPz
PHPzOriginal
2023-04-17 15:08:571131Durchsuche

Node.js ist eine plattformübergreifende Open-Source-Laufzeitumgebung. Es ermöglicht angehenden Webentwicklern, effiziente Anwendungen mit einfachem JavaScript-Code zu erstellen. Bei der Entwicklung müssen Sie jedoch darüber nachdenken, wie Sie Ihre Node.js-Anwendung ordnungsgemäß herunterfahren können. In diesem Artikel besprechen wir, wie Sie den Node.js-Code ordnungsgemäß stoppen können.

  1. Strg+C-Tastenkombination
    In einem Terminalfenster wird durch Drücken der Tastenkombination Strg+C das Schließen der Node.js-Anwendung erzwungen. In Linux- und Unix-Umgebungen ist diese Methode die schnellste und am häufigsten verwendete. Diese Tastenkombination ist an den Node.js-Prozessmanager gebunden und kann zum Schließen der Anwendung durch Drücken von Strg+C verwendet werden.
  2. Signal-Handler
    Die Signal-Handler von Node.js sind eine weitere effektive Möglichkeit, Ihren Code herunterzufahren. Diese Methode verwendet die integrierte on-Methode des Prozessobjekts, um auf Signale zu warten. Wenn ein Signal erfasst wird, kann Code geschrieben werden, um darauf zu reagieren. Mit diesem Ansatz kann das Signal abgefangen und verarbeitet werden, wodurch verhindert wird, dass der Standard-Exit-Handler von Node.js die Anwendung beendet.

Hier ist ein Beispiel, das zeigt, wie ein Signal-Handler-Handler eingerichtet wird:

function gracefulShutdown() {
  console.log("Node process stopping...");

  // 停止Web服务器
  server.close(() => console.log("HTTP server stopped"));

  // 关闭数据库连接
  mongoose.connection.close(() => console.log("MongoDB connection closed"));

  // 结束Node进程
  process.exit(0);
}

process.on("SIGTERM", gracefulShutdown);
process.on("SIGINT", gracefulShutdown);

In diesem Codeausschnitt wird beim Empfang der SIGTERM- und SIGINT-Signale die Funktion „gracefulShutdown“ aufgerufen, um die folgenden Vorgänge abzuschließen:

  • Shut den HTTP-Server herunterfahren.
  • Schließen Sie die MongoDB-Datenbankverbindung.
  • Beenden Sie den Node.js-Prozess.
  1. Process.exit()-Methode
    Wenn Sie in Node.js die Anwendung vollständig beenden möchten, können Sie die Methode process.exit(0) verwenden. In diesem Fall wird die Anwendung beendet, ohne dass eine Angabe erfolgt. Bitte beachten Sie jedoch, dass es sich bei dieser Methode nicht um einen ordnungsgemäßen Stopp handelt.
  2. Verwendung von Node- und npm-Modulen
    Node.js- und npm-Module sind speziell für den Start und die Verwaltung von Node.js-Anwendungen konzipiert. Bei dieser Methode müssen Sie eine Node-Anwendung installieren, die das npm-Modul verwendet, um den Code zu verarbeiten, der die Anwendung stoppt. Dieser Ansatz beinhaltet normalerweise eine Warnung oder ein Exit-Ereignis, um sicherzustellen, dass die Anwendung ordnungsgemäß beendet wird.

Hier ist ein Beispiel für die Verwendung des Forever-Moduls für Node.js:

var forever = require("forever");

var child = new (forever.Monitor)("app.js", {
  max: 3, //最多重启3次
  silent: true, // 启动应用程序时,不显示输出到控制台的日志
  args: []
});

// 在关闭应用程序之前执行以下操作
child.on("exit", function() {
  console.log("App has stopped");
});

// 启动并监视应用程序
child.start();

In diesem Codeausschnitt kann das Forever-Modul eine Node.js-Anwendung starten und überwachen. Wenn vier Versuche, die Anwendung neu zu starten, erfolglos bleiben, wird die Anwendung gestoppt. Wenn Sie diese Methode verwenden, sollten Sie das Modul „forever“ am Ende stoppen, um sicherzustellen, dass alle Prozesse auf dem Server geschlossen sind.

Fazit

Bei der Node.js-Anwendungsentwicklung ist das korrekte Stoppen der Anwendung ein wichtiges Thema. Durch das ordnungsgemäße Herunterfahren einer Node.js-Anwendung wird sichergestellt, dass die Daten erhalten bleiben, alle Ressourcen nicht beeinträchtigt werden und die Ausführung anderer Anwendungen nicht beeinträchtigt wird. Dieser Artikel stellt vier verschiedene Methoden vor, darunter die Verwendung der Tastenkombination Strg + C, das Erstellen einer Signalverarbeitungsfunktion, die Verwendung der Methode „process.exit(0)“ und die Verwendung von Node- und npm-Modulen. Sie können die Methode auswählen, die Ihren Anforderungen am besten entspricht, um sicherzustellen, dass Ihre Node.js-Anwendung ordnungsgemäß beendet wird.

Das obige ist der detaillierte Inhalt vonSo schließen Sie eine Node.js-Anwendung ordnungsgemäß. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn