서버 파일을 저장할 때마다 앱이 죽는다면(nodemon, address already in use)

Namu CHO
3 min readSep 30, 2020

--

서버에 변경사항이 있을 때마다 다시 리눅스 명령어를 쳐주지 않아도 되게 해주는 노드몬!

하지만 이상하게 언젠가부터 서버파일을 수정하고 저장하는 순간 이미 사용중이라는 메시지가 뜨며 서버가 맥락없이 매번 죽는 것이 아닌가..?

그래서 매번 변경 사항이 있을 때마다 서버 lsof명령어를 통해 서버를 죽이고 다시 키다… 도대체 이러면 노드몬을 쓰는 의미가 없지 않은가 싶고,

또 이제는 리액트단과 서버단을 한꺼번에 실행하는 concurrent를 쓰기 때문에 앱이 crash될 때마다 리액트 서버도 같이 시행해줘야 하는 귀찮음이 발생해서 드디어 문제해결을 하기로 했다.

결론은 npm으로 kill-port를 깔고

$ npm install — save kill-port

nodemon.json파일을 루트경로에 생성한 후에 nodemon.js 파일에 아래 텍스트를 붙여넣고 저장하면 된다.

{ “events”: { “restart”: “kill-port 18000”, “crash”: “kill-port 18000” }, “delay”: “1500” }

저기 kill-port뒤에(볼드처리한 텍스트 부분) 자신이 사용하는 포트번호를 넣으면 된다.

문제해결 출처: https://stackoverflow.com/questions/58605392/port-3000-is-already-in-use-nodemon-app-crashed-waiting-for-file-changes-bef

kill-port: https://www.npmjs.com/package/kill-port

스택오버플로우 짱짱맨

+10월 5일 추가)

잘 되더니 갑자기 다시 서버 파일을 저장할 때 마다 앱이 죽었다.

다시 인터넷 검색을 해보니 모든 노드 프로세스를 죽이라는 팁을 찾았다.

커맨드라인에

killall node

하고 다시 앱을 실행하니 문제 없이 잘 동작한다!

--

--

Namu CHO
Namu CHO

Written by Namu CHO

외노자 개발자 나무 🇸🇬

No responses yet