Maison interface Web Questions et réponses frontales packaging et déploiement de nodejs pm2

packaging et déploiement de nodejs pm2

May 23, 2023 pm 05:39 PM

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

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

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

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

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

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

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

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
Copier après la connexion
#🎜🎜 ## 🎜🎜#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
    Copier après la connexion
  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>
Copier après la connexion

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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Commandes de chat et comment les utiliser
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Qu'est-ce que l'utilisation Effecte? Comment l'utilisez-vous pour effectuer des effets secondaires? Qu'est-ce que l'utilisation Effecte? Comment l'utilisez-vous pour effectuer des effets secondaires? Mar 19, 2025 pm 03:58 PM

L'article traite de l'utilisation Effecte dans React, un crochet pour gérer les effets secondaires comme la récupération des données et la manipulation DOM dans les composants fonctionnels. Il explique l'utilisation, les effets secondaires courants et le nettoyage pour éviter des problèmes comme les fuites de mémoire.

Comment fonctionne l'algorithme de réconciliation React? Comment fonctionne l'algorithme de réconciliation React? Mar 18, 2025 pm 01:58 PM

L'article explique l'algorithme de réconciliation de React, qui met à jour efficacement le DOM en comparant les arbres DOM virtuels. Il traite des avantages de la performance, des techniques d'optimisation et des impacts sur l'expérience utilisateur. Compte de charge: 159

Quelles sont les fonctions d'ordre supérieur en JavaScript, et comment peuvent-ils être utilisés pour écrire du code plus concis et réutilisable? Quelles sont les fonctions d'ordre supérieur en JavaScript, et comment peuvent-ils être utilisés pour écrire du code plus concis et réutilisable? Mar 18, 2025 pm 01:44 PM

Les fonctions d'ordre supérieur dans JavaScript améliorent la concision du code, la réutilisabilité, la modularité et les performances par abstraction, modèles communs et techniques d'optimisation.

Comment fonctionne le currying en JavaScript et quels sont ses avantages? Comment fonctionne le currying en JavaScript et quels sont ses avantages? Mar 18, 2025 pm 01:45 PM

L'article traite du curry dans JavaScript, une technique transformant les fonctions mulguments en séquences de fonctions à argument unique. Il explore la mise en œuvre du currying, des avantages tels que des applications partielles et des utilisations pratiques, améliorant le code

Comment connectez-vous les composants React au magasin Redux à l'aide de Connect ()? Comment connectez-vous les composants React au magasin Redux à l'aide de Connect ()? Mar 21, 2025 pm 06:23 PM

L'article discute de la connexion des composants React à Redux Store à l'aide de Connect (), expliquant MapStateToproprop, MapDispatchToprops et des impacts de performances.

Qu'est-ce que UseContext? Comment l'utilisez-vous pour partager l'état entre les composants? Qu'est-ce que UseContext? Comment l'utilisez-vous pour partager l'état entre les composants? Mar 19, 2025 pm 03:59 PM

L'article explique UseContext dans React, qui simplifie la gestion de l'État en évitant le forage des accessoires. Il traite des avantages tels que les améliorations centralisées de l'État et des performances grâce à des redevances réduites.

Comment empêchez-vous le comportement par défaut dans les gestionnaires d'événements? Comment empêchez-vous le comportement par défaut dans les gestionnaires d'événements? Mar 19, 2025 pm 04:10 PM

L'article discute de la prévention des comportements par défaut dans les gestionnaires d'événements à l'aide de la méthode empêchée dedEfault (), de ses avantages tels que une expérience utilisateur améliorée et des problèmes potentiels tels que les problèmes d'accessibilité.

Quels sont les avantages et les inconvénients des composants contrôlés et incontrôlés? Quels sont les avantages et les inconvénients des composants contrôlés et incontrôlés? Mar 19, 2025 pm 04:16 PM

L'article traite des avantages et des inconvénients des composants contrôlés et incontrôlés dans la réaction, en se concentrant sur des aspects tels que la prévisibilité, la performance et les cas d'utilisation. Il conseille les facteurs à considérer lors du choix entre eux.

See all articles