Maison  >  Article  >  interface Web  >  Vous apprendre étape par étape comment installer et configurer pm2 pour réaliser un déploiement automatique des projets de nœuds

Vous apprendre étape par étape comment installer et configurer pm2 pour réaliser un déploiement automatique des projets de nœuds

青灯夜游
青灯夜游avant
2021-12-29 19:15:1510363parcourir

Comment

pm2 déploie-t-il automatiquement les projets nodejs ? L'article suivant vous présentera comment installer et configurer pm2, et implémenter le déploiement automatique des projets de nœuds. J'espère qu'il vous sera utile !

Vous apprendre étape par étape comment installer et configurer pm2 pour réaliser un déploiement automatique des projets de nœuds

1. Introduction à pm2

pm2 (gestionnaire de processus) est un outil de gestion de processus qui maintient une liste de processus. Vous pouvez l'utiliser pour gérer votre processus node, être responsable de tous les processus en cours et afficher le nœud. l'état des processus et prend également en charge la surveillance des performances, l'équilibrage de charge et d'autres fonctions.

1.1. Avantages de l'utilisation de programmes de nœuds gérés par pm2

  • Écoutez les modifications des fichiers et redémarrez automatiquement le programme

  • Prise en charge de la surveillance des performances

  • Équilibrage de charge

  • Redémarrage automatique si le programme plante

  • Redémarrage automatique au redémarrage du serveur

  • Projet de déploiement automatisé

2, Installation et utilisation de PM2

2.1, Installation globale

npm install pm2 -g

2.2, Commandes communes

  • Démarrez un programme de nœud

        pm2 start start.js

Vous apprendre étape par étape comment installer et configurer pm2 pour réaliser un déploiement automatique des projets de nœuds

  • Démarrez le processus et spécifiez le nom du programme de l'application

        pm2 start app.js --name application1
  • Démarrage en mode cluster

        // -i 表示 number-instances 实例数量
        // max 表示 PM2将自动检测可用CPU的数量 可以自己指定数量
        pm2 start start.js -i max

Vous apprendre étape par étape comment installer et configurer pm2 pour réaliser un déploiement automatique des projets de nœuds

  • Ajouter une surveillance du processus

    // 在文件改变的时候会重新启动程序
    pm2 start app.js --name start --watch

Vous apprendre étape par étape comment installer et configurer pm2 pour réaliser un déploiement automatique des projets de nœuds

  • Liste de tous les processus

        pm2 list
        pm2 ls // 简写
  • Supprimer les processus de la liste des processus

        // pm2 delete [appname] | id
        pm2 delete app  // 指定进程名删除
        pm2 delete 0    // 指定进程id删除
  • Supprimer tous les processus de la liste des processus

        pm2 delete all
  • Voir la situation spécifique d'un processus

        pm2 describe app

Vous apprendre étape par étape comment installer et configurer pm2 pour réaliser un déploiement automatique des projets de nœuds

  • Afficher la consommation de ressources d'un processus Situation

        pm2 monit

Vous apprendre étape par étape comment installer et configurer pm2 pour réaliser un déploiement automatique des projets de nœuds

  • Redémarrer le processus

        pm2 restart app // 重启指定名称的进程
        pm2 restart all // 重启所有进程
  • Afficher le journal du processus

        pm2 logs app    // 查看该名称进程的日志
        pm2 logs all    // 查看所有进程的日志
  • Définir pm2 pour qu'il démarre automatiquement au démarrage

Activer le démarrage paramètres, voici le système CentOS, d'autres systèmes remplacent le dernier Options (facultatif : ubuntu, centos, redhat, gentoo, systemd, darwin, amazon)

    pm2 startup centos

Entrez ensuite les commandes qui doivent être saisies lorsque vous y êtes invité

Enfin enregistrez les paramètres

pm2 save

3. Déployez automatiquement le projet via le fichier de configuration pm2

Assurez-vous que pm2 est installé sur le serveur. Sinon, installez-le d'abord

npm install pm2 -g

3.1 Créez un nouveau fichier déployer.yaml dans le répertoire racine du projet.

# deploy.yaml
apps:
  - script: ./start.js       # 入口文件
    name: 'app'              # 程序名称
    env:                     # 环境变量
      COMMON_VARIABLE: true
    env_production:
      NODE_ENV: production

deploy:                     # 部署脚本
  production:               # 生产环境
    user: lentoo            # 服务器的用户名
    host: 192.168.2.166     # 服务器的ip地址
    port: 22                # ssh端口
    ref: origin/master      # 要拉取的git分支
    ssh_options: StrictHostKeyChecking=no # SSH 公钥检查
    repo: https://github.com/**.git # 远程仓库地址
    path: /home              # 拉取到服务器某个目录下
    pre-deploy: git fetch --all # 部署前执行
    post-deploy: npm install &&  pm2 reload deploy.yaml --env production # 部署后执行
    env:
      NODE_ENV: production

3.2 Configurer l'authentification sans mot de passe ssh de git

  • Générez-la sur le serveur La clé publique et la clé privée rsa sont actuellement sous centos7 La condition préalable est que le serveur doit installer git si c'est le cas. pas installé, installez d'abord git. S'il est déjà installé, ignorez

        yum –y install git
  • générez la clé secrète

        ssh-keygen -t rsa -C "xxx@xxx.com"
  • dans ~/ Il y a deux fichiers, id_rsa et id_rsa.pub, dans le répertoire .ssh. Le fichier stocke la clé de clé publique.
  • Connectez-vous à GitHub, cliquez sur l'avatar en haut à droite, sélectionnez les paramètres, cliquez sur Ajouter une clé SSH et copiez-y le contenu de id_rsa.pub.

3.3 Utilisez pm2 pour déployer le projetVous apprendre étape par étape comment installer et configurer pm2 pour réaliser un déploiement automatique des projets de nœuds

Soumettez le code local au référentiel git distant avant chaque déploiement

Premier déploiement

  • pm2 deploy deploy.yaml production setup

    Une fois le déploiement terminé, vous pouvez vous connecter sur le serveur pour voir Le projet est-il extrait de git dans le répertoire configuré

Déployer à nouveau

  • pm2 deploy deploy.yaml production update

    3.4 Ce processus de déploiement est également applicable aux projets front-end

tels que les projets vue-cli, qui sont automatiquement déployés sur le serveur et exécutent automatiquement la commande npm Run build, le répertoire dist généré est affecté au répertoire de fichiers statiques de nginx. 4. Pièges possibles

Lorsque le programme de ligne de commande de vscode sous le système Windows et PowerShell exécutent la commande de déploiement, le déploiement échoue

  • pm2 deploy deploy.yaml production setup

Solution : utilisez la ligne de commande git pour exécuter

Vous apprendre étape par étape comment installer et configurer pm2 pour réaliser un déploiement automatique des projets de nœuds Pour plus de connaissances sur les nœuds, veuillez visiter :

tutoriel Nodejs

 ! !

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:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer