Angular CLIとPM2を使用してAngularアプリを実行する方法

Angular CLIは、Angularフレームワーク用のコマンドラインインターフェースであり、開発中にアプリケーションをローカルで作成、ビルド、実行するために使用されます。

これは、開発サーバー上でAngularプロジェクトをビルドおよびテストするように設計されています。ただし、本番環境でアプリケーションを常に実行/維持する場合は、Node.jsプロセスマネージャーPM2など)が必要です。

PM2は、Node.jsアプリケーション向けの人気で高度なプロダクションプロセスマネージャーであり、組み込みのロードバランサーを備えています。

その機能セットには、アプリケーションの監視、マイクロサービス/プロセスの効率的な管理、アプリケーションのクラスターモードでの実行、アプリケーションの優雅な再起動とシャットダウンなどが含まれています。また、アプリケーションログの簡単な管理もサポートされています。

この記事では、AngularアプリケーションをAngular CLIおよびPM2 Node.jsプロセスマネージャーを使用して実行する方法を説明します。これにより、開発中にアプリケーションを継続的に実行できます。

要件

次のパッケージがサーバーにインストールされている必要があります:

注意:すでにLinuxシステムにNode.jsNPMがインストールされている場合は、ステップ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.jsNPMがインストールされたら、次のコマンドを使用してバージョンを確認できます。

$ node -v
$ npm -v
Check Node.js and NPM Version

ステップ2:Angular CLIとPM2のインストール

次に、Angular CLIPM2を、次に示すように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
Create New Angular App

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

$ cd sysmon-app
$ sudo ng serve
Serve Angular App Using Angular CLI

ng serveコマンドの出力から、Angularアプリがバックグラウンドで実行されていないことがわかります。コマンドプロンプトにアクセスできなくなります。したがって、それが実行されている間は他のコマンドを実行することはできません。

したがって、アプリケーションを制御および管理するためにプロセスマネージャーが必要です。それを連続して実行し(永遠に)、また次のセクションで説明されているように、システムの起動時に自動的に開始するようにします。

次のセクションに移動する前に、[Ctl + C]を押してプロセスを終了し、コマンドプロンプトを解放します。

Terminate Running Angular App

ステップ4:PM2を使用してAngularプロジェクトを永久に実行する

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

$ pm2 start "ng serve" --name sysmon-app
Run Angular App Forever

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

Access Sysmon Angular App from Browser

このガイドでは、Angular CLIPM2 プロセスマネージャーを使用して Angular アプリケーションを実行する方法を示しました。追加のアイデアを共有したい場合や質問がある場合は、以下のフィードバックフォームからお問い合わせください。

Source:
https://www.tecmint.com/create-and-run-angular-apps-using-angular-cli-and-pm2/