Comment savoir si nodejs a été démarré

王林
Libérer: 2023-05-25 09:18:36
original
1250 Les gens l'ont consulté

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.

  1. Afficher la sortie de la console

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.

  1. Port d'écoute

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.

  1. Envoyer une demande pour vérifier le statut

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 启动失败');
    }
  });
});
Copier après la connexion
  1. Utilisez PM2 pour gérer les processus

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"
    }
  ]
}
Copier après la connexion

Lorsque nous exécutons pm2 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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal