Angular CLIは、Angularフレームワーク用のコマンドラインインターフェースであり、開発中にアプリケーションをローカルで作成、ビルド、実行するために使用されます。
これは、開発サーバー上でAngularプロジェクトをビルドおよびテストするように設計されています。ただし、本番環境でアプリケーションを常に実行/維持する場合は、Node.jsプロセスマネージャー(PM2など)が必要です。
PM2は、Node.jsアプリケーション向けの人気で高度なプロダクションプロセスマネージャーであり、組み込みのロードバランサーを備えています。
その機能セットには、アプリケーションの監視、マイクロサービス/プロセスの効率的な管理、アプリケーションのクラスターモードでの実行、アプリケーションの優雅な再起動とシャットダウンなどが含まれています。また、アプリケーションログの簡単な管理もサポートされています。
この記事では、AngularアプリケーションをAngular CLIおよびPM2 Node.jsプロセスマネージャーを使用して実行する方法を説明します。これにより、開発中にアプリケーションを継続的に実行できます。
要件
次のパッケージがサーバーにインストールされている必要があります:
注意:すでにLinuxシステムにNode.jsとNPMがインストールされている場合は、ステップ2に移動してください。
ステップ1:LinuxにNode.jsをインストールする
最新バージョンのNode.jsをインストールするには、まず、システムにNodeSourceリポジトリを追加し、パッケージをインストールします。お使いのLinuxディストリビューションにインストールしたいNode.jsバージョンに対して正しいコマンドを実行することを忘れないでください。
UbuntuにNode.jsをインストールする
------------- For Node.js v19.x ------------- $ curl -fsSL https://deb.nodesource.com/setup_19.x | sudo -E bash - &&\ $ sudo apt-get install -y nodejs ------------- For Node.js v18.x ------------- $ curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash - &&\ $ sudo apt-get install -y nodejs ------------- For Node.js v16.x ------------- $ curl -fsSL https://deb.nodesource.com/setup_16.x | sudo -E bash - &&\ $ sudo apt-get install -y nodejs ------------- For Node.js v14.x ------------- $ curl -fsSL https://deb.nodesource.com/setup_14.x | sudo -E bash - &&\ $ sudo apt-get install -y nodejs
DebianにNode.jsをインストールする
------------- For Node.js v19.x ------------- $ curl -fsSL https://deb.nodesource.com/setup_19.x | bash - &&\ $ sudo apt-get install -y nodejs ------------- For Node.js v18.x ------------- $ curl -fsSL https://deb.nodesource.com/setup_18.x | bash - &&\ $ sudo apt-get install -y nodejs ------------- For Node.js v16.x ------------- $ curl -fsSL https://deb.nodesource.com/setup_16.x | bash - &&\ $ sudo apt-get install -y nodejs ------------- For Node.js v14.x ------------- $ curl -fsSL https://deb.nodesource.com/setup_14.x | bash - &&\ $ sudo apt-get install -y nodejs
RHELベースのディストリビューションにNode.jsをインストールする
------------- For Node.js v19.x ------------- $ curl -fsSL https://rpm.nodesource.com/setup_19.x | sudo bash - $ sudo yum install -y nodejs ------------- For Node.js v18.x ------------- $ curl -fsSL https://rpm.nodesource.com/setup_18.x | sudo bash - $ sudo yum install -y nodejs ------------- For Node.js v16.x ------------- $ curl -fsSL https://rpm.nodesource.com/setup_16.x | sudo bash - $ sudo yum install -y nodejs ------------- For Node.js v14.x ------------- $ curl -fsSL https://rpm.nodesource.com/setup_14.x | sudo bash - $ sudo yum install -y nodejs
また、NPMからネイティブアドオンをコンパイルしてインストールできるように、システムに開発ツールもインストールしてください。
$ sudo apt install build-essential [On Debian/Ubuntu] # yum install gcc-c++ make [On CentOS/RHEL] # dnf install gcc-c++ make [On Fedora]
Node.jsとNPMがインストールされたら、次のコマンドを使用してバージョンを確認できます。
$ node -v $ npm -v

ステップ2:Angular CLIとPM2のインストール
次に、Angular CLIとPM2を、次に示すようにnpmパッケージマネージャーを使用してインストールします。以下のコマンドでは、-g
オプションは、パッケージをグローバルにインストールすることを意味します – すべてのシステムユーザーが使用できます。
$ sudo npm install -g @angular/cli #install Angular CLI $ sudo npm install -g pm2 #install PM2
ステップ3:Angular CLIを使用してAngularプロジェクトを作成する
次に、サーバーのwebrootディレクトリに移動し、Angular CLIを使用してAngularアプリ(sysmon-app
と呼ばれる)を作成し、ビルドして提供します(この名前はアプリの名前で置き換えてください)。
$ cd /srv/www/htdocs/ $ sudo ng new sysmon-app #follow the prompts

次に、作成されたばかりのアプリケーション(フルパスは/srv/www/htdocs/sysmon-app
です)ディレクトリに移動し、次のようにアプリケーションを提供します。
$ cd sysmon-app $ sudo ng serve

ng serveコマンドの出力から、Angularアプリがバックグラウンドで実行されていないことがわかります。コマンドプロンプトにアクセスできなくなります。したがって、それが実行されている間は他のコマンドを実行することはできません。
したがって、アプリケーションを制御および管理するためにプロセスマネージャーが必要です。それを連続して実行し(永遠に)、また次のセクションで説明されているように、システムの起動時に自動的に開始するようにします。
次のセクションに移動する前に、[Ctl + C]
を押してプロセスを終了し、コマンドプロンプトを解放します。

ステップ4:PM2を使用してAngularプロジェクトを永久に実行する
新しいアプリケーションをバックグラウンドで実行し、コマンドプロンプトを解放するには、PM2を使用して提供します。 PM2は、障害時の再起動、停止、およびダウンタイムなしでの構成のリロードなど、一般的なシステム管理タスクも支援します。
$ pm2 start "ng serve" --name sysmon-app

次に、アプリケーションの Web インターフェースにアクセスするには、http://localhost:4200
のアドレスを使用してブラウザを開き、次のスクリーンショットに示すようにナビゲートします。

このガイドでは、Angular CLI と PM2 プロセスマネージャーを使用して Angular アプリケーションを実行する方法を示しました。追加のアイデアを共有したい場合や質問がある場合は、以下のフィードバックフォームからお問い合わせください。
Source:
https://www.tecmint.com/create-and-run-angular-apps-using-angular-cli-and-pm2/