Avec le développement et l'utilisation de Node.js de plus en plus répandus, de nombreuses personnes utilisent Node.js pour des projets de développement. Cependant, en utilisation réelle, nous rencontrons parfois une situation dans laquelle nous ne parvenons pas à déterminer si Node.js a été démarré. Alors, comment juger que Node.js a été démarré ?
En fait, il existe de nombreuses façons de déterminer si Node.js a été démarré. Ci-dessous, je partagerai certaines des méthodes les plus couramment utilisées en fonction de ma propre expérience.
Lorsque nous démarrons Node.js, certaines informations seront affichées dans la console, telles que "le serveur écoute sur le port 3000", ce qui est un signal très évident. Si vous pouvez voir ces informations, Node.js a été démarré. Bien entendu, cette méthode ne convient qu'aux environnements de test locaux. S'il s'agit d'un environnement de production, nous avons besoin d'autres méthodes.
Lorsque Node.js démarre, il écoutera un numéro de port, généralement 80 ou 3000, etc. Avant de démarrer Node.js, nous pouvons vérifier si ce port est occupé. Si le port n'est pas occupé, alors Node.js n'a pas été démarré ; si le port est déjà occupé, alors Node.js a été démarré. Bien entendu, si votre projet comporte plusieurs ports, cette méthode sera plus gênante.
Nous pouvons vérifier le statut de Node.js en lui envoyant une demande. Si une réponse est renvoyée, Node.js a été démarré. Cette méthode nécessite l'utilisation d'une bibliothèque tierce, telle que la bibliothèque de requêtes.
Le code est le suivant :
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 est un très bon outil de gestion de processus qui peut nous aider à gérer les processus Node.js, y compris le démarrage, l'arrêt, le redémarrage, etc. Lorsque vous utilisez PM2 pour démarrer Node.js, vous pouvez définir un fichier de configuration, qui inclut les commandes que Node.js exécutera après son démarrage, et vous pouvez définir une adresse de webhook. Lorsque Node.js démarre avec succès, il enverra une requête. à ce webhook. Nous pouvons déterminer si Node.js a été démarré en fonction de la réussite de la demande.
Le fichier de configuration est le suivant :
{ "apps": [ { "name": "my-app", "script": "index.js", "watch": true, "env": { "PORT": 3000 }, "webhook": "http://localhost:8080" } ] }
Lorsque nous exécutonspm2 start ecosystem.config.js
时,PM2 将会启动 Node.js,当 Node.js 启动成功后会向http://localhost:8080
pour envoyer une requête, il nous suffit de déterminer si la requête réussit côté serveur de cette adresse.
Résumé :
Toutes les méthodes ci-dessus peuvent nous aider à déterminer si Node.js a été démarré. Différentes méthodes ont des caractéristiques différentes. Nous pouvons choisir la méthode à utiliser en fonction de la situation spécifique. Dans les projets réels, il est recommandé d'utiliser PM2 pour gérer le processus Node.js, ce qui est plus pratique et plus rapide.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!