programing

Nodejs 애플리케이션 오류: pm2 배포를 사용할 때 EADDRINUSE 바인딩

lastmoon 2023. 6. 21. 22:55
반응형

Nodejs 애플리케이션 오류: pm2 배포를 사용할 때 EADDRINUSE 바인딩

pm2를 사용하여 애플리케이션을 신속하게 배포

데이터베이스가 mongodb입니다.

명령을 사용하여 app를 실행하는 경우:

NODE_ENV=production pm2 start app.js -i max

after has EADDRINUSE: bind EADDRINUSE, 이것은 로그입니다. 오류가 발생하면,

[app err (l0)] js:1073:26
[app err (l1)]     at Object.30:1 (cluster.js:587:5)
[app err (l2)]     at handleResponse (cluster.js:171:41)
[app err (l3)]     at respond (cluster.js:192:5)
[app err (l4)]     at handleMessage (cluster.js:202:5)
[app err (l5)]     at process.EventEmitter.emit (events.js:117:20)
[app err (l6)]     at handleMessage (child_process.js:318:10)
[app err (l7)]     at child_process.js:392:7
[app err (l8)]     at process.handleConversion.net.Native.got (child_process.js:91:7)Error: bind EADDRINUSE
[app err (l9)]     at errnoException (net.js:901:11)
[app err (l10)]     at net.js:1073:26
[app err (l11)]     at Object.31:1 (cluster.js:587:5)
[app err (l12)]     at handleResponse (cluster.js:171:41)
[app err (l13)]     at respond (cluster.js:192:5)
[app err (l14)]     at handleMessage (cluster.js:202:5)
[app err (l15)]     at process.EventEmitter.emit (events.js:117:20)
[app err (l16)]     at handleMessage (child_process.js:318:10)
[app err (l17)]     at child_process.js:392:7
[app err (l18)]     at process.handleConversion.net.Native.got (child_process.js:91:7)

이것은 앱이 느립니다, 이 문제를 해결하는 방법, 감사합니다.

나는 당신의 애플리케이션에서 사용하는 포트를 모릅니다.코드에 따라 다릅니다.이 예에서는 포트가3000.

시스템에서 포트가 이미 사용되었는지 확인해야 합니다.실행 방법:

  • Linux의 경우:sudo netstat -nltp | grep 3000
  • OSX의 경우:sudo lsof -i -P | grep 3000

결과가 있으면 프로세스를 종료해야 합니다(kill <pid>).

당신은 확인해야 합니다.pm2 list0 프로세스를 반환합니다.게다가, 당신이 할 때.pm2 stopAll소켓이 해제되지 않았습니다.하는 것을 잊지 마세요.pm2 kill데몬이 확실히 죽었는지 확인합니다.

$ pm2 kill
Daemon killed

OS X

Cmd+Space -> 다음을 입력합니다.Activity Monitor -> 앱을 찾아서 종료합니다.

enter image description here

언급URL : https://stackoverflow.com/questions/18687877/nodejs-application-error-bind-eaddrinuse-when-use-pm2-deploy

반응형