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