이번에 프로젝트를 aws EC2 를 이용해 배포를 하던 중 컴퓨터가 꺼지면 배포가 닫히는 것을 보게 되었다.
이 때 계속 열어둘 방법이 있나 해서 찾아보다 pm2를 알게 되었다.
pm2?
pm2의 공식 사이트를 보면
Advanced, production process manager for node.js
라고 나온다.
이는
node.js용 고급 생산 프로세스 관리자
라는 뜻으로 즉 pm2는 node.js로 만들어진 프로그램을 잘 관리해주는 것을 말한다.
1. 프로그램이 꺼지면 자동으로 다시 켜준다.
pm2 start app.js
pm2로 start를 해둔 경우에 pm2로 종료하지 않는 이상 다시 재시작을 해주게 된다.
2. 코드가 바뀌었을 때 자동으로 재시작을 해준다.
pm2 start app.js--watch
3. 로그를 한번에 볼 수 있다.
pm2 log
현재 실행중인 프로세스의 로그들을 하나의 화면에서 보여주게 된다.
4. 편한 개발자 모드
pm2-dev app.js
5. pm2 클러스트 기능
pm2 start app.js -i max
프로세스를 실행할 때 가능한 스레드의 숫자만큼 실행
node.js는 싱글 스레드라 하나의 스레드만 사용을 한다.
하지만 그 컴퓨터의 가능한 스레드가 더 많은데 하나의 스레드보다 여러대의 스레드에 프로세스를 돌리게 되면 더 많은 사용자의 접속을 받을 수 있게 된다.
6. 컴퓨터가 꺼졌다가 켜졌을 때, 프로세스를 자동으로 실행시켜주는 기능
pm2 start app.js
pm2 save
해당 경로에 현재 실행되고 있는 프로세스들에 대한 상태가 저장된다.
pm2 startup
각 운영체제별로, 그 운영체제가 실행됐을 때 프로세스들을 실행시켜주는 명령어가 있다.
그 명령어를 알려주는 것 이다.
명령어를 복사해서 붙여넣고 실행 시키면 컴퓨터가 재부팅 했을 때 save를 통해 저장해둔 프로세스들의 상태를 복원해서 재실행 해준다.
간단하게 알아봤는데 조금 더 공부해서 알아보려고 한다.
'이것저것' 카테고리의 다른 글
| PWA (1) | 2024.06.13 |
|---|---|
| React Portal? (0) | 2024.05.26 |
| padStart와 padEnd (JS) (0) | 2024.05.18 |
| Nominatim API (0) | 2024.05.09 |
| css를 사용하며 (풀스크린..?) (0) | 2024.04.30 |