ホームページ > ウェブフロントエンド > jsチュートリアル > ノード プロジェクトの自動展開を実現するために pm2 をインストールして構成する方法を段階的に説明します。

ノード プロジェクトの自動展開を実現するために pm2 をインストールして構成する方法を段階的に説明します。

青灯夜游
リリース: 2021-12-29 19:16:18
転載
10501 人が閲覧しました

pm2 はどのようにして nodejs プロジェクトを自動的にデプロイしますか?次の記事では、pm2 のインストールと設定、ノード プロジェクトの自動デプロイメントの実装方法を紹介します。

ノード プロジェクトの自動展開を実現するために pm2 をインストールして構成する方法を段階的に説明します。

1. pm2 の概要

pm2 (プロセス マネージャー) は、プロセス リストを維持し、## の管理に使用できるプロセス管理ツールです。 #node プロセスは、実行中のすべてのプロセスを担当し、ノード プロセスのステータスを確認し、パフォーマンス監視、負荷分散、その他の機能もサポートします。

#1.1. pm2 によって管理されるノード プログラムを使用する利点

#ファイルの変更を監視し、プログラムを自動的に再起動します
  • パフォーマンス監視のサポート
  • 負荷分散
  • プログラムクラッシュ後の自動再起動
  • サーバーの再起動 起動時に自動的に再起動します
  • 自動展開プロジェクト
  • 2. PM2 のインストールと使用

2.1。グローバル インストール

npm install pm2 -g
ログイン後にコピー
ログイン後にコピー
2.2. 共通コマンド

ノード プログラムの開始
        pm2 start start.js
    ログイン後にコピー

ノード プロジェクトの自動展開を実現するために pm2 をインストールして構成する方法を段階的に説明します。

プロセスを開始し、アプリケーションプログラム名を指定します
        pm2 start app.js --name application1
    ログイン後にコピー
  • #クラスタモード起動

        // -i 表示 number-instances 实例数量
        // max 表示 PM2将自动检测可用CPU的数量 可以自己指定数量
        pm2 start start.js -i max
    ログイン後にコピー

#プロセス監視を追加ノード プロジェクトの自動展開を実現するために pm2 をインストールして構成する方法を段階的に説明します。

// 在文件改变的时候会重新启动程序
pm2 start app.js --name start --watch
ログイン後にコピー

#すべてのプロセスのリスト

    pm2 list
    pm2 ls // 简写
ログイン後にコピー
ノード プロジェクトの自動展開を実現するために pm2 をインストールして構成する方法を段階的に説明します。

#プロセス リストからプロセスを削除
        // pm2 delete [appname] | id
        pm2 delete app  // 指定进程名删除
        pm2 delete 0    // 指定进程id删除
    ログイン後にコピー
  • #プロセス リストからすべてのプロセスを削除

        pm2 delete all
    ログイン後にコピー
  • プロセスの特定の状況の表示

        pm2 describe app
    ログイン後にコピー
  • ##プロセスのリソース消費の表示

        pm2 monit
    ログイン後にコピー

ノード プロジェクトの自動展開を実現するために pm2 をインストールして構成する方法を段階的に説明します。

  • プロセスを再起動します

        pm2 restart app // 重启指定名称的进程
        pm2 restart all // 重启所有进程
    ログイン後にコピー

プロセス ログを表示しますノード プロジェクトの自動展開を実現するために pm2 をインストールして構成する方法を段階的に説明します。

    pm2 logs app    // 查看该名称进程的日志
    pm2 logs all    // 查看所有进程的日志
ログイン後にコピー

  • pm2 を起動時に自動的に起動するように設定します

  • ##スタートアップ設定を有効にします。ここでは CentOS システムです。最後のオプションを他のシステムに置き換えます (オプション: ubuntu、centos、 redhat、gentoo、systemd、darwin、amazon)
  •     pm2 startup centos
    ログイン後にコピー

    プロンプトに従って必要なコマンドを入力します

  • 最後に設定を保存します
  • pm2 save
    ログイン後にコピー

    3. 次の方法でプロジェクトを自動的にデプロイしますpm2 構成ファイル

  • pm2 がサーバーにインストールされていることを確認してください。インストールされていない場合は、最初にインストールしてください##
    npm install pm2 -g
    ログイン後にコピー
    ログイン後にコピー
##3.1 プロジェクトのルート ディレクトリに新しいdeploy.yaml ファイルを作成します

# 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 git SSH パスワードなし認証の構成

##rsa 公開キーと秘密キーをサーバーで生成します。現在はこれが実行されています。

centos7

の下にある前提条件サーバーは git をインストールする必要があります。インストールされていない場合は、最初に git をインストールしてください。すでにインストールされている場合はスキップしてください。

    yum –y install git
ログイン後にコピー

秘密鍵の生成

    ssh-keygen -t rsa -C "xxx@xxx.com"
ログイン後にコピー
    ~/.ssh ディレクトリ内には、id_rsa と id_rsa.pub という 2 つのファイルがあり、id_rsa.pub ファイルには公開鍵が保存されます。
  • GitHub にログインし、右上のアバターをクリックして設定を選択し、[SSH キーの追加] をクリックして id_rsa.pub の内容をコピーします。

  • 3.3 pm2 を使用してプロジェクトをデプロイする

    各デプロイの前にローカル コードをリモートに送信する gitウェアハウス

  • 最初のデプロイメント

pm2 deploy deploy.yaml production setup
ログイン後にコピー
ログイン後にコピー

デプロイメントが完了したら、サーバーにログインしてプロジェクトがプルされているかどうかを確認できます。構成されたディレクトリの git ノード プロジェクトの自動展開を実現するために pm2 をインストールして構成する方法を段階的に説明します。

再度デプロイします

pm2 deploy deploy.yaml production update
ログイン後にコピー

    3.4 このデプロイ プロセスはフロントエンド プロジェクトにも適用できます
  • vue など - cli プロジェクトが自動的にサーバーにデプロイされ、npm run build コマンドが自動的に実行され、生成された dist ディレクトリが nginx の静的ファイル ディレクトリに割り当てられます。
4. 考えられる落とし穴

  • ウィンドウ システムおよび PowerShell で vscode のコマンド ライン プログラムがデプロイメント コマンドを実行すると、デプロイメントの失敗が発生します

  • pm2 deploy deploy.yaml production setup
    ログイン後にコピー
    ログイン後にコピー

    解決策: git コマンド ラインを使用して実行します。

    ノード関連の詳細については、

    nodejs チュートリアル

    ! !

      以上がノード プロジェクトの自動展開を実現するために pm2 をインストールして構成する方法を段階的に説明します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

    関連ラベル:
    ソース:juejin.cn
    このウェブサイトの声明
    この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
    人気のチュートリアル
    詳細>
    最新のダウンロード
    詳細>
    ウェブエフェクト
    公式サイト
    サイト素材
    フロントエンドテンプレート