문제의 파일이다.
옵션 중 watch라는 옵션은 디렉터리 내 변경사항이 생겼을 경우 해당 변경사항을 감지하여 서버를 재시작한다.
그런데 어떤 파일이건 내용을 변경하고 저장을하면 끊임없이 재시작하는 문제점이 발생.
처음에는 log 폴더 내 로그 파일이 매 요청마다 로그를 남기니까 이게 문제인가 싶었음.
해당 문제를 개발자 단톡방에 질문을 해보니
pm2 start ecosystem.config.js --no-daemon 명령어를 이용하여 시작해보라고 한다.
로그를 확인해보니까 서버 폴더 내 .git 폴더도 감지하고 있는것이 확인됨. (저 녀석이 원인이다.)
ignore_watch 옵션을 통해 .git 폴더 추가
이제 한 번만 실행되고 끝난다.
원인은 .git 폴더의 변경사항을 감지하고 있어서
이전에 올려뒀던 내역과 일치하지 않는 점이 있어서 계속 재실행을 하게 된 듯 하다.
pm2의 watch 옵션은 해당 서버 디렉터리 내 모든 디렉터리와 파일을 감지하는 듯 하다. (숨겨진 파일 조차도)
ecosystem.config.js로 서버를 가동할 때는 반드시 .git 폴더를 추가하도록 하자.