PM2는 next.js 앱을 관리하고 모니터링할 때 가장 많이 쓰이는 프로세스 매니저 중 하나입니다.
서버에 우선 PM2를 전역으로 설치합니다.
npm install -g pm2
제 서버에는 5.4.3 버전의 pm2가 설치되었습니다. 전역으로 설치된 npm 패키지를 확인하고 싶을 때는 npm list -g
를 활용하시면 됩니다.
pm2 명령어 중 가장 핵심이 되는 명령어입니다.
pm2 start <script> --name <app-name>
ex) pm2 start "npm start" --name next-app
--name: 프로세스에 이름을 지정합니다.
이렇게 pm2로 앱을 실행하면 비정상적으로 종료될 경우에 자동으로 재시작 됩니다.
시스템 재부팅시에도 자동으로 앱이 실행되게 하려면 다음 명령을 사용하면 됩니다.
pm2 startup
위 명령을 수행하면 실행해야 할 명령어를 알려주는데 그것을 그대로 복사하여 실행하면 됩니다. 그 다음에 다음 명령으로 설정을 저장합니다.
pm2 save
pm2 logs next-app
참고로 로그는 ~/.pm2/logs
에 있는 next-app-error.log, next-app-out.log와 같은 파일들에 쌓입니다.
pm2 list
또는 pm2 ls
또는 pm2 l
또는 pm2 status
앱을 중단 때는 pm2 list로 확인한 앱의 ID나 이름으로 중단할 수 있습니다.
pm2 stop <app-name|app-id>
ex) pm2 stop 0
ex) pm2 stop next-app
중단한 앱을 다시 실행할 때 역시 앱의 ID나 이름으로 실행시킬 수 있습니다.
pm2 start <app-name|app-id>
ex) pm2 start 0
ex) pm2 start next-app
pm2에서 관리 중인 애플리케이션을 완전히 제거하고자 할 때는 delete 명령을 사용합니다.
pm2 delete <app-name|app-id>
ex) pm2 delete 0
ex) pm2 delete next-app