inflearn logo
강의

Course

Instructor

A Full-Stack Restaurant Guide Project for Non-Majors!: Front, Back-end, and Deployment

PM2 EADDRINUSE 에러

404

helim0103

1 asked

0

강의 보면서 PM2 배포를 따라해보았습니다.

5999번 포트를 사용했고,

몇 번 API 요청을 하면 EADDRINUSE 에러가 뜹니다.

0|index | Error: listen EADDRINUSE: address already in use :::5999 
0|index | at Server.setupListenHandle [as listen2] (node:net:1872:16) 
0|index | at listenInCluster (node:net:1920:12) 
0|index | at Server.listen (node:net:2008:7) 
0|index | at Function.listen (/home/ubuntu/hyerim-resume/server/nodemodules/express/lib/application.js:635:24) 
0|index | at Object.<anonymous> (/home/ubuntu/hyerim-resume/server/index.js:6:11) 
0|index | at Module._compile (node:internal/modules/cjs/loader:1376:14) 
0|index | at Module._extensions..js (node:internal/modules/cjs/loader:1435:10) 
0|index | at Module.load (node:internal/modules/cjs/loader:1207:32) 
0|index | at Module._load (node:internal/modules/cjs/loader:1023:12) 
0|index | at Object.<anonymous> (/home/ubuntu/.nvm/versions/node/v21.2.0/lib/node_modules/pm2/lib/ProcessContainerFork.js:33:23) 
{ 0|index | code: 'EADDRINUSE', 0|index | errno: -98, 0|index | syscall: 'listen', 0|index | address: '::', 0|index | port: 5999 0|index | }

 

이 에러가 이미 사용중인 포트로 실행하려고 하는 문제라고 해서

매번 sudo lsof -i :5999, sudo kill -9 ~~ 로 서버를 껐다 키면 또 금방 해당 에러가 발생합니다.

 

sudo lsof -i :5999 로 실행중인 프로세스를 확인하면 다음과 같습니다.

COMMAND    PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME

node\x20/ 1396 root   25u  IPv6 451174      0t0  TCP ip-172-31-39-74.ap-northeast-2.compute.internal:5999->121.143.65.200:56521 (ESTABLISHED)

node\x20/ 1396 root   26u  IPv6  20785      0t0  TCP *:5999 (LISTEN)

node\x20/ 1396 root   30u  IPv6 451237      0t0  TCP ip-172-31-39-74.ap-northeast-2.compute.internal:5999->121.143.65.200:56645 (ESTABLISHED)

 

Mac M2 로 서버에 접근해서 PM2를 실행하는데, Mac에서 AirPlay 모드를 꺼야 한다는 Stack Overflow 내용도 보고 꺼봤지만 역시나 에러가 뜹니다.

 

pm2 start index.js —watch 로 pm2 인스턴스를 실행했더니 몇번 재시작을 자동으로 해주는 것 같지만 결국 재시작이 너무 잦다며 더이상 재시작이 되지 않는 것 같아요.

 

해결 방법이 궁금합니다 ㅠㅠ

 

아래는 제 서버의 package.json, index.js입니다.

{
  "name": "server",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "start": "node index.js"
  },
  "author": "",
  "license": "ISC",
  "dependencies": {
    "compression": "^1.7.4",
    "cors": "^2.8.5",
    "express": "^4.18.2",
    "jsonwebtoken": "^9.0.2",
    "method-override": "^3.0.0",
    "mysql2": "^3.6.3",
    "nodemon": "^3.0.1",
    "socket.io": "^4.7.2",
    "winston": "^3.11.0",
    "winston-daily-rotate-file": "^4.7.1"
  }
}

 

const express = require("./config/express");
const { logger } = require("./config/winston"); //log

const port = 5999;

express().listen(port);
logger.info(`API Server Start At Port ${port}`);

HTML/CSS javascript aws git mysql rest-api github pm2

Answer 2

0

helim0103

DB connection pool 해제를 안한 문제였습니다 ◠‿◠

0

Jay

안녕하세요.

 

우선 5999 포트가 열려있는지 확인해봐야할 것 같습니다.

그리고 간단한 확인 조치로 3001과 같은 다른 포트에서도 동일한 증상이 있는지 확인해보셔야할 것 같아요.

 

감사합니다.

0

helim0103

처음엔 서버를 4000 번 포트로 써보고 있었는데 안되서 5999로 바꿨는데도 똑같은 증상이 있습니다 ㅠ ㅠ

live server가 안 떠요..

0

77

1

카카오맵 API 가 안뜹니다...

0

664

2

카카오맵API 지도 관련

0

169

1

Putty에서 nginx를 vi로 수정할때 오류

0

277

3

mysql과 선생님의 깃허브 코드연결

0

182

1

nodemon 실행오류

0

226

2

Azure 서버로 구축하고 작업하는 방법 알 수 있을까요?

0

254

2

css 적용 중 강의대로 적용되지 않아 질문 드립니다

0

346

2

강의를 잘 활용하는 법 추천 부탁드립니다.

0

282

1

MysqlWorkbench 접속문제

0

299

1

전체 핀이 조회되지 않습니다.

0

257

1

빅데이터 처리관련

1

279

1

섹션5의 2번째 강의 질문-setMap 비동기 처리 이유

0

233

1

인스턴스 중단 후 재시작

0

277

1

이미지 부분에 cctv 영상을 넣고 싶은데요.

0

580

2

노션 링크가 어디있나요 ?

1

307

1

axios 이후 마커 오류

0

289

0

service nginx restart 에러

0

709

1

섹션10 배포하기 unbuntu에서 root경로가 안뜹니다ㅠㅠ

0

497

3

선생님 추가적으로 새로운 페이지를 만드려고 하는데요...

0

245

1

코드 질문 드립니다!

0

224

1

혹시 강의자료 노션 내리셨나요?

0

234

1

노드몬 에러 참조하세요

0

356

1

깃허브에서 다운받지 않고 생성하는 방법 여쭤보고 싶습니다.

0

316

1