如何使用 Angular CLI 和 PM2 运行 Angular 应用程序

Angular CLI 是 Angular 框架的命令行界面,用於在開發時在本地創建、構建和運行應用程序。

它旨在在開發服務器上構建和測試 Angular 項目。但是,如果您想在生產環境中永久運行/保持應用程序的活動狀態,您需要一個 Node.js 過程管理器,如 PM2

PM2 是一款流行、先進且功能豐富的 Node.js 應用程序生產過程管理器,具有內置的負載平衡器。

其功能集包括應用程序監控、高效管理微服務/進程、以集群模式運行應用程序、應用程序的優雅重啟和關閉。此外,它支持簡便地管理應用程序日誌等等。

在本文中,我們將展示如何使用 Angular 應用程序使用 Angular CLIPM2 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 package manager如下所示。在以下命令中,-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 command的輸出中,您可以看到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/