Maison  >  Article  >  interface Web  >  packaging et déploiement de nodejs pm2

packaging et déploiement de nodejs pm2

王林
王林original
2023-05-23 17:39:08749parcourir

Avec la popularité de Node.js côté serveur, de plus en plus d'entreprises et de développeurs commencent à utiliser Node.js pour créer leurs propres applications. Lors du déploiement d'une application Node.js dans un environnement de production, garantir sa haute disponibilité, sa flexibilité et son évolutivité sont des problèmes très importants. Dans cet article, nous expliquerons comment utiliser PM2 pour empaqueter et déployer une application Node.js afin de garantir sa stabilité dans les environnements de production.

1. Qu'est-ce que PM2

PM2 est un outil de gestion de processus Node.js open source qui peut être utilisé pour gérer le développement, le packaging et le déploiement d'applications Node.js. Il peut surveiller vos programmes et les redémarrer automatiquement. Il peut également prendre en charge des fonctions telles que l'équilibrage de charge et les mises à niveau de temps d'arrêt de 0 seconde, rendant vos applications plus stables et plus fiables dans l'environnement de production. Dans le même temps, PM2 intègre également de nombreux outils et plug-ins Node.js couramment utilisés, permettant aux développeurs de développer des applications plus efficacement.

2. Installation et configuration de PM2

Avant d'utiliser PM2, nous devons d'abord l'installer. Nous pouvons utiliser npm pour installer :

npm install pm2 -g

Une fois l'installation terminée, nous pouvons utiliser la commande pm2 pour démarrer et gérer l'application. Nous pouvons utiliser la commande suivante pour afficher la version et l'état de PM2 :

$ pm2 -v
2.10.4
$ pm2 status

Dans PM2, nous devons utiliser des fichiers de configuration pour gérer nos applications. Le fichier de configuration est un fichier au format JSON qui décrit diverses propriétés de l'application. Un fichier de configuration le plus simple ressemble à ceci :

{
  "name": "my-application",
  "script": "app.js",
  "watch": true
}

Ce fichier de configuration définit une application nommée mon-application Son script de démarrage est app.js et redémarre automatiquement l'application lorsque le fichier est modifié.

3. Utilisation de base de PM2

Avant d'utiliser PM2 pour le développement et le déploiement, nous devons comprendre quelques commandes de base :

    #🎜🎜 # Démarrer l'application
Vous pouvez utiliser la commande suivante pour démarrer l'application :

pm2 start <app.js>

Où app.js est le chemin d'accès au script de démarrage de l'application. Si nous avons défini un script de démarrage dans le fichier de configuration de l'application, nous pouvons utiliser la commande suivante pour démarrer l'application :

pm2 start <config.json>

    Stop application
  1. #🎜🎜 # Une application peut être arrêtée à l'aide de la commande suivante :
pm2 stop <app_name>

où app_name est le nom de notre application.

Redémarrez l'application
  1. Vous pouvez utiliser la commande suivante pour redémarrer l'application :
pm2 restart <app_name>

Parmi eux, app_name est le nom de notre application.

Afficher la liste des applications
  1. Vous pouvez utiliser la commande suivante pour afficher la liste actuelle des applications dans PM2 :
pm2 list
#🎜🎜 ## 🎜🎜#Afficher l'état d'exécution des applications

    Vous pouvez utiliser la commande suivante pour vérifier l'état d'exécution des applications dans PM2 :
  1. pm2 status
  2. 4. de PM2#🎜🎜 #
En plus de l'utilisation de base, PM2 fournit également quelques fonctionnalités avancées qui nous permettent de mieux gérer les applications Node.js :

Log Management#🎜🎜 ##🎜🎜 #

PM2 générera automatiquement des fichiers journaux lorsque l'application est en cours d'exécution. Nous pouvons utiliser la commande suivante pour afficher le journal :

pm2 logs <app_name>

où app_name est le nom de l'application.
  1. Nous pouvons également utiliser la commande pm2 logrotate pour gérer les fichiers journaux afin d'éviter que des journaux excessifs n'occupent de l'espace.

Variables d'environnement

Lors du développement de Node.js, les variables d'environnement sont un moyen très courant de les définir. PM2 fournit également un moyen de définir des variables d'environnement, nous permettant de gérer les configurations des applications de manière plus flexible.

Nous pouvons définir des variables d'environnement dans le fichier de configuration de l'application :
    {
      "name": "my-application",
      "script": "app.js",
      "watch": true,
      "env": {
        "NODE_ENV": "production"
      }
    }
  1. Dans le fichier de configuration ci-dessus, nous définissons une variable d'environnement nommée NODE_ENV, sa valeur pour la production. Dans l'application, nous pouvons obtenir la valeur de cette variable via process.env.NODE_ENV.

Mode cluster

En utilisant PM2, vous pouvez également démarrer plusieurs instances pour obtenir un équilibrage de charge et une haute disponibilité. Nous pouvons démarrer plusieurs instances via la commande suivante :

pm2 start <config.json> -i 

où number_of_instances est le nombre d'instances dont nous avons besoin pour démarrer.
  1. PM2 prend également en charge l'équilibrage de charge standard et la mise à niveau des temps d'arrêt de 0 seconde, ce qui nous permet de gérer plusieurs instances plus facilement.
5. Conclusion

Dans cet article, nous avons présenté la fonction et la méthode d'installation de l'outil PM2, ainsi que l'utilisation de base et les fonctionnalités avancées de PM2. En utilisant PM2, nous pouvons mieux gérer les applications Node.js et les rendre plus efficaces et stables dans les environnements de production.

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!

Déclaration:
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