이번 프로젝트를 하면서 EC2 서버를 이용해 배포까지 하는데에 성공하고 프론트 팀원이 서버를 켜달라고 할 때마다 매번 VSCode에 들어가서 npm run install 을 치곤 했다.
이렇게 하다보니 밖에 나왔을때 프론트 팀원이 서버를 켜달라고 요청하게 되면 곤란한 상황이 발생하게 됐다.
또 계속 켰다 껐다 하다 보니 서버도 자주 멈추고 프론트 팀원들에게 죄송한 마음이 커졌다.
이를 해결하고자 매번 서버를 킬 필요 없이 컴퓨터를 꺼도 계속 서버가 켜져있는 방법을 소개하고자 하니 나 같은 경험이 있는 사람들에게는 이번 포스트가 아주 유용할 것이다! (사실 아주 복잡할 것 같아서 시도조차 못했는데 아주 간단하다!!)
다양한 방법이 있는데 나는 그중에 nohup 명령어를 사용하는 방법을 선택했다.
정말 놀랍게도 아래 명령어 한 줄만 입력하면 끝이다..! (이렇게 쉬운거였으면 진작 했지..)
nohup [프로젝트 시작 명령어] > [로그 파일 이름].log 2>&1 &
ex) nohup npm run start > output.log 2>&1 &
나는 프로젝트 시작을 npm run start로 하고 로그를 output.log 파일에 저장하기 위해서 위와 같이 입력했다.
그런데 백그라운드에서 서버가 실행되면 어떻게 로그들을 볼 수 있을까?
이것도 마찬가지로 명령어 한 줄로 쉽게 확인할 수 있다!
지난 로그 보기
cat [로그 파일 이름]
ex) cat output.log
실시간 로그 보기
tail -f [로그 파일 이름]
ex) tail -f output.log
만약 서버를 끄고 싶다면??
아래 코드처럼 자신이 배포한 코드 파일을 입력해 검색해서 나온 PID를 확인한다. 혹은 광범위하게 'node'를 쳐서 찾아봐도 좋다.
ps aux | grep [파일 이름]
나는 ps aux | grep 'BACKEND'로 검색을 하여 제일 위에 있는 44061을 찾아냈다.

그럼 이제 PID를 알아냈으면 kill [PID] 명령어를 해주면 된다.
나의 예시로든 kill 44061이 될 것이다.
이렇게 하면 성공적으로 백그라운드 서버가 꺼질 것이다!