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 프로젝트 만들기
이제 서버의 웹루트 디렉토리로 이동한 다음 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

다음 스크린 샷에 표시된대로 브라우저를 열고 주소 http://localhost:4200
을(를) 사용하여 응용 프로그램의 웹 인터페이스에 액세스하십시오.

이 안내서에서는 Angular CLI 및 PM2 프로세스 관리자를 사용하여 Angular 응용 프로그램을 실행하는 방법을 보여주었습니다. 추가로 공유할 아이디어나 질문이 있으시면 아래 피드백 양식을 통해 문의하십시오.
Source:
https://www.tecmint.com/create-and-run-angular-apps-using-angular-cli-and-pm2/