NestJS | forever로 서버 백그라운드 실행

Sua·2021년 3월 29일
0

NestJS

목록 보기
6/9
post-thumbnail

NestJS 서버를 백그라운드로 실행해보려고 한다.
이전 Django 프로젝트에서는 nohup과 gunicorn을 이용했었는데, NestJS에서는 어떤 프로그램을 이용하면 좋을까?

찾아보니 node 계열에서 사용하는 모듈은 forever, pm2, nodemon 등이 있다.
그 중에서도 forerver라는 npm 모듈을 사용해서 서버를 돌려보려고 한다.

공식 페이지

설치하기

sudo npm install forever -g

안 되면 sudo를 빼고 시도해보자.

package.json 파일 수정

package.json 파일의 scripts"forever": "forever start -m 999 -a -o log/out.log -e log/err.log dist/main.js"를 추가한다.

(json 파일이므로 불필요한 , 등이 없는지 잘 확인한다.)

// package.json
{
  "name": "nest-project",
  "version": "0.0.1",
  "description": "",
  "author": "",
  "private": true,
  "license": "UNLICENSED",
  "scripts": {
    "prebuild": "rimraf dist",
    "build": "nest build",
    "format": "prettier --write \"src/**/*.ts\" \"test/**/*.ts\"",
    "start": "nest start",
    "start:dev": "nest start --watch",
    "start:debug": "nest start --debug --watch",
    "start:prod": "node dist/main",
    "lint": "eslint \"{src,apps,libs,test}/**/*.ts\" --fix",
    "test": "jest",
    "test:watch": "jest --watch",
    "test:cov": "jest --coverage",
    "test:debug": "node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand",
    "test:e2e": "jest --config ./test/jest-e2e.json",
    "forever": "forever start -m 999 -a -o log/out.log -e log/err.log dist/main.js" // 이 부분 추가!!
  },

참고 사이트

서버 실행하기

서버를 실행한다.

npm run forever

서버가 구동되고 있는지 확인해본다.

forever list

서버 중지하기

stop 뒤에 중지하고 싶은 서버의 번호를 적어준다.

forever stop 0

서버가 중지되었는지 확인한다.

forever list

profile
Leave your comfort zone

0개의 댓글