PM2 (Process Manager 2)
간단히 말해 PM2는 애플리케이션 무중단 운영 및 다양한 시스템 관리 업무를 가능하게 해주는 Node.js 프로세스 매니저입니다.
PM2로 프로세스 백그라운드로 실행
프로세스를 백그라운드로 실행해야 하는 이유
서버를 배포한다는 것은 간단히 말해 24시간 동안 쉬지 않고 서버를 가동하는 것입니다. 하지만 어떠한 이유로 서버가 켜져 있는 터미널이 종료된다면 서버 프로세스가 같이 종료되는 문제가 생기게 됩니다.
만약 현재 AWS EC2 인스턴스에 배포하는 상황이라면, 우리는 배포를 위해 EC2 인스턴스에 SSH 접속하여 서버를 켜고 SSH 세션에서 exit 하지 않고 계속 접속을 유지해야 합니다. 만약 exit 하게 되면 배포한 서버 또한 종료됩니다. 게다가 SSH 접속은 보안상의 이유로 지속해서 사용하지 않으면 접속이 종료됩니다.
이러한 문제를 해결하기 위해 애플리케이션 서버를 백그라운드로 실행시킬 필요가 있습니다. PM2는 위와 같은 상황(AWS EC2에 배포하여 SSH 접속)에서 SSH 세션에서 exit 하더라도 프로세스가 종료되지 않고 계속해서 동작할 수 있도록 프로세스를 백그라운드로 실행시킬 수 있습니다.
aws에 저장된 app.js를 백그라운드로 실행하려면
pm2 start app.js 명령어를 입력하여 어플리케이션을 실행합니다.
그럼 실행완료!됩니다.
그리고 또 하나 말씀드릴게 보안그룹에서 인바운드 규칙을 추가해야합니다. app.js에 추가된 포트번호와 인바운드 규칙 내 포트번호를 일치시켜야합니다. (혹은 범위 속에 있던지 해야합니다.)
인바운드 규칙에 소스.. 프로토콜.. 잘 모르겠습니다.. 조금씩 공부해 볼게요.
'코딩 개발' 카테고리의 다른 글
1st Project 회고록... PICKEAT (0) | 2022.11.27 |
---|---|
AWS - RDS (0) | 2022.11.24 |
SSH를 이용한 EC2 Instance 접속 (1) | 2022.11.24 |
[AWS] Security Groups & Ports (0) | 2022.11.24 |
[AWS] EC2 (0) | 2022.11.23 |