Node.js

[NestJS] Forever를 사용하여 영구적인 실행을 해봅시다.

임채성 2023. 1. 18. 16:00

백그라운드 실행은 nohup과 forever이 있지만, nohup은 자동으로 꺼지는 에러를 발견하고 forever을 사용해보려고합니다.

 

Forever은 개발자가 업데이트를 포기한 상황입니다.
새로 개발 하시는 경우에는 Docker, nodemon, pm2를 추천드립니다.

 

구동환경

  • Ubuntu 22.04.1 LTS
  • Nest.js 9

 

Forever 설치

yarn:

yarn global add forever

npm:

npm install -g forever

 

Forever 실행

forever start --minUpdate 1000 --spinSleepTime 1000 -c "yarn start" ./

main.js를 실행했을 때는 DI 쪽으로 에러가 나서 직접 yarn start를 호출하는 방식을 이용했습니다.

더 효율적인 방법이나 좋은 방법이 있으면 댓글로 말씀해주세요!

 

 

Forever 목록 조회

forever list

 

Forever 종료

forever stop {pid}

 

Linux

이방식으로 안죽는다면, 아래 글을 참고하세요. 내부에서 돌아가는 프로세스를 강제로 죽입니다.

https://puleugo.tistory.com/134

 

 

Amazon Linux2

kill -9 $(lsof -t -i:3000 -sTCP:LISTEN)


pakage.json으로 관리하기

"start:nohup": "forever start --minUpdate 1000 --spinSleepTime 1000 -c \"yarn start:dev\" ./",
"kill": "kill -9 $(lsof -t -i:3000 -sTCP:LISTEN) & echo \"Nest JS Process is down!\""

 

공식 문서

Forever RedeMe.md: https://github.com/foreversd/forever#readme