PM2 EADDRINUSE 에러
404
1 asked
강의 보면서 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입니다.
Package.json
{
"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"
}
}
index.js
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}`);
Answer 2
live server가 안 떠요..
0
77
1
카카오맵 API 가 안뜹니다...
0
663
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
244
1
코드 질문 드립니다!
0
223
1
혹시 강의자료 노션 내리셨나요?
0
234
1
노드몬 에러 참조하세요
0
356
1
깃허브에서 다운받지 않고 생성하는 방법 여쭤보고 싶습니다.
0
316
1

