AWS EC2에서 PM2를 사용한 Node.js 서버 자동 재시작 가이드
KUKJIN LEE • 5개월 전 작성
AWS EC2에 배포된 Node.js 오류로 인해 중단되는 것을 방지하고 자동으로 재시작하는 방법을 찾고 계신가요? PM2를 사용하면 간단하게 이 문제를 해결할 수 있습니다.
PM2란 무엇인가?
PM2는 Node.js 애플리케이션을 관리하고 유지하는 데 사용되는 프로세스 매니저입니다. PM2는 애플리케이션의 상태를 모니터링하고, 오류 발생 시 자동으로 재시작하는 기능을 제공합니다. 이를 통해 서버 다운타임을 최소화할 수 있습니다.
PM2 설치
PM2를 사용하려면 먼저 EC2 인스턴스에 PM2를 설치해야 합니다.
# Node.js 설치
sudo apt update
sudo apt install -y nodejs npm
# PM2 설치
sudo npm install pm2@latest -g
애플리케이션 시작 및 모니터링
PM2를 사용하여 애플리케이션을 시작하고 모니터링하는 방법은 다음과 같습니다.
# 애플리케이션 시작
pm2 start app.js
# 애플리케이션 모니터링
pm2 list
서버 재부팅 시 PM2 자동 시작 설정
EC2 인스턴스를 재부팅할 때마다 PM2가 자동으로 애플리케이션을 다시 시작하도록 설정할 수 있습니다.
# PM2를 시스템 서비스로 설정
pm2 startup systemd
# 현재 실행 중인 프로세스를 PM2 서비스로 등록
pm2 save
위 명령어는 PM2의 현재 설정을 저장하고, 서버 재부팅 시 PM2가 자동으로 시작되도록 합니다.
PM2 로그 관리
PM2는 애플리케이션의 로그를 쉽게 관리할 수 있습니다. PM2 로그를 확인하거나 지울 수 있습니다.
# 로그 확인
pm2 logs
# 특정 애플리케이션 로그 확인
pm2 logs my-app
# 로그 파일 지우기
pm2 flush
PM2는 AWS EC2에 배포된 Node.js 애플리케이션의 가용성을 높이고, 안정적으로 운영할 수 있게 도와주는 강력한 도구입니다. PM2를 사용하면 애플리케이션의 상태를 지속적으로 모니터링하고, 오류 발생 시 자동으로 재시작할 수 있습니다. 이를 통해 서버 다운타임을 최소화하고, 안정적인 서비스를 제공할 수 있습니다.