vue 프로젝트를 생성하여 운영 서버에 배포하는 과정에 있어, PM2를 사용하면 서버의 관리가 용이하다는 내용을 접하게 되었다. PM2가 무엇이며, 어떤 동작을 하는지, 또 그로 인해 어떤 이점이 있는지를 정리할 목적으로 포스팅 한다. 목차는 아래와 같다.
1. PM2란?
2. PM2단점 및 주의사항
1. PM2란?
Process manager의 약자로, Node.js기반의 애플리케이션 실행 및 관리를 쉽고 효율적일 수 있도록 지원하는 프로세스 관리자이다. 운영 환경에서 Node.js 애플리케이션의 안전성, 성능, 가용성 향상을 위해 설계되었다고 한다.
주요 내용을 기능과 내용으로 정리해보았다.
프로세스 관리
: PM2는 Node.js 애플리케이션의 관리 및 제어를 담당하기도 한다. 즉, 애플리케이션을 시작,중지,재시작 할 수 있다. 또한 여러개의 애플리케이션을 동시 관리 하는 것도 가능하다.
로그 관리
: 애플리케이션의 로그를 수집하고 관리하는 기능도 한다. 표준 출력 및 오류 출력을 수집해서 로그 파일에 기록하고, 필요에 따라 로그 파일을 자동으로 회전시키는 방식으로 용량을 관리한다.
프로세스 모니터링
: CPU사용량, 메모리 사용량, 실행 시간 등 여러 지표를 수집하여 애플리케이션의 상태와 성능을 실시간으로 모니터링한다. 이를 기반으로 애플리케이션의 상태를 판단하여 적절한 조치를 취하는게 가능해진다.
재시작 관리
: PM2는 애플리케이션의 비정상 종료를 감지하여 자동 재시작할 수 있다. 충돌 혹은 예외 발생이 있는 경우 PM2는 이를 감지하고 애플리케이션을 자동 재시작하여 중단 시간을 최소화한다.
클러스터 모드
: 클러스터 모드로 애플리케이션을 실행하는 것이 가능하다. 즉, 여러 프로세스를 사용하여 애플리케이션의 성능을 향상시킬 수 있다.
환경 설정 관리
: 애플리케이션의 환경 변수와 설정을 관리하기도 한다. PM2 설정 파일을 통해 환경 변수, 실행 옵션, 확장 기능 등을 설정하고, 필요에 따라 다양한 환경 간에 쉽게 전환할 수 있다.
커맨드 라인 인터페이스 및 API
: PM2는 명령줄 인터페이스와 API를 제공하여 개발자가 명령어를 사용하는 프로그래밍 방식으로 PM2를 제어할 수 있도록 한다.
정리된 내용이 PM2의 목적이며 역할이고 기능이면서 특징이다. 또한 이점도 될 수 있겠다.
2. PM2단점 및 주의사항
단점으로는 배포와 업데이트가 복잡하다는 것이 있다. 위의 모든 기능들을 적용하기 위해서는 다양한 설정을 등록해야한다는 전제를 가지고 가야한다. 일반적인 서버 배포에 비해 일부 추가 작업이 필요할 수도 있다는 이야기가 된다. 이때, 잘못된 설정으로 인해 제대로된 기능을 구현하는게 어려워질 수 있으니 올바른 설정을 위해 수행하는 작업에 대한 충분한 이해가 필요할 수 있다.
그 외의 주의사항은 아래와 같다.
1. PM2는 백그라운드에서 애플리케이션의 실행과 관리를 수행하기 때문에 메모리와 CPU같은 시스템 자원을 사용한다. 즉, PM2작업을 위해서는 이 시스템 자원을 적절히 고려하여 리소스를 충분히 확보해야 한다.
2. 잘못된 설정은 애플리케이션 동작에 영향을 줄 수 있으므로 환경 변수, 실행 옵션, 구성 파일 등의 설정 관리에 있어서 주의해야할 필요가 있다.
3. PM2는 애플리케이션을 실행하고 관리하기 위해 독립적인 도구로서, 별도로 설치(npm)되고 사용된다. 즉, 외부 종속성으로서 애플리케이션에 추가된다고 할 수 있다. 따라서 이 도구를 업데이트하거나 설치할때 호환성 문제를 주의해야한다.
4. 기능(로그, 모니터링, 프로세스 관리 등)에 대한 부정확성이 간헐적으로 발생되기도 한다. 일반적으로 버전 업데이트나 구성 변경을 통해 해결될 수는 있다고 한다.
'SERVER' 카테고리의 다른 글
[tomcat] intellij 이미지 로드 설정 (0) | 2025.01.02 |
---|---|
[Spring boot] web앱 리눅스 배포(gradle) (2) | 2024.01.11 |
[CentOS/Nginx] vue 배포 (0) | 2023.04.05 |
[Linux] DB 서버 재기동 (0) | 2023.01.26 |
[tomcat] mobaxterm설치 및 배포작업 (0) | 2022.07.04 |