Как запускать приложения Angular с использованием Angular CLI и PM2

Angular CLI – это интерфейс командной строки для фреймворка Angular, который используется для создания, сборки и запуска вашего приложения локально во время разработки.

Он предназначен для сборки и тестирования проекта Angular на сервере разработки. Однако, если вы хотите запустить/держать ваши приложения активными постоянно в продакшене, вам понадобится менеджер процессов Node.js, такой как PM2.

PM2 – это популярный, продвинутый и функционально насыщенный менеджер процессов для приложений на Node.js с встроенным балансировщиком нагрузки.

Его набор функций включает поддержку мониторинга приложений, эффективное управление микросервисами/процессами, запуск приложений в режиме кластера и грациозный перезапуск и выключение приложений. Также он поддерживает простое управление логами приложений и многое другое.

В этой статье мы покажем вам, как запускать приложения Angular с использованием Angular CLI и менеджера процессов PM2 Node.js. Это позволит вам непрерывно запускать ваше приложение во время разработки.

Требования

Для продолжения у вас должны быть установлены следующие пакеты на вашем сервере:

Примечание: Если у вас уже установлены Node.js и NPM на вашей системе Linux, перейдите к Шагу 2.

Шаг 1: Установка Node.js в Linux

Чтобы установить последнюю версию Node.js, сначала добавьте репозиторий NodeSource на вашу систему, как показано, и установите пакет. Не забудьте выполнить правильную команду для версии Node.js, которую хотите установить на вашем дистрибутиве Linux.

Установка Node.js на Ubuntu

------------- 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

Установка Node.js на Debian

------------- 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

Установка Node.js на дистрибутивы, основанные на RHEL

------------- 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
Check Node.js and NPM Version

Шаг 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 с помощью Angular CLI

Теперь перейдите в каталог webroot вашего сервера, затем создайте, соберите и запустите ваше приложение Angular (называемое sysmon-app, замените это на имя вашего приложения) с использованием Angular CLI.

$ 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: Запуск Angular-проекта навсегда с использованием PM2

Чтобы ваше новое приложение запускалось в фоновом режиме, освобождая командную строку, используйте PM2 для его обслуживания, как показано ниже. PM2 также помогает в обычных задачах администрирования системы, таких как перезапуск при сбое, остановка и перезагрузка конфигураций без простоя и многое другое.

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

Следующий, чтобы получить доступ к веб-интерфейсу вашего приложения, откройте браузер и перейдите по адресу http://localhost:4200, как показано на следующем снимке экрана.

Access Sysmon Angular App from Browser

В этом руководстве мы показали, как запускать приложения Angular с использованием Angular CLI и менеджера процессов PM2. Если у вас есть дополнительные идеи для обсуждения или вопросы, свяжитесь с нами через форму обратной связи ниже.

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