Error: listen EADDRINUSE: address already in use

이정기·2023년 6월 17일
0

TIL

목록 보기
71/71
post-thumbnail

서버를 키려고 하니 에러가 났다.

해당 에러는 에러에 표시한 포트번호를 이미 사용하고 있다는 뜻이다.

맥에선 터미널 명령어로 내가 서버를 킬려고 하는 포트가 어떻게 사용되고 있는지 간단히 확인 할 수 있었다.

//입력
losf -i TCP:3306

//출력
COMMAND   PID      USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME
dbeaver 65870 ijeong-gi   42u  IPv6 0x8d8c059ac75b071b      0t0  TCP [::172.30.1.50]:59661->[::13.209.120.137]:mysql (CLOSED)
dbeaver 65870 ijeong-gi  115u  IPv6 0x8d8c059ac75b251b      0t0  TCP [::172.30.1.50]:59662->[::13.209.120.137]:mysql (CLOSED)

출력값 코멘트에 dbeaver 가 적혀있는걸 보니 내가 RDS 포트를 3306 으로 받고 사용하고 있었다.

express app.listen() 인자 안에 포트도 3306으로 사용하고 있어 에러가 났던 것.

간단하게 listen 포트를 바꿔주었더니 해결됐는데 궁금한 점은 어떤 포트를 부여하는것이 일반적일까? 라는 것이였다.

포트(Port)

포트는 외부의 다른 장비와 접속하기 위한 플러그와 같은 것

컴퓨터는 IP 와 Port 로 접속장소를 찾아가는데, IP 는 컴퓨터를 찾을 때 필요한 주소를 나타내고, Port 는 컴퓨터 안에서 프로그램을 찾을 때 나타낸다 한다.

포트는 총 0번 ~ 65535번 으로 있으며, 3가지로 분류된다.

  • 0 ~ 1023 : 잘 알려진 포트(Well-known port)
  • 49152 ~ 65535 : 등록된 포트(registered port)
  • 49152 ~ 65535 : 동적 포트(dynamic port)

아래 이미지는 잘 알려진 포트 중 자주 사용하는 포트를 정리한 표이다.

자주 쓰이는 잘 알려진 포트

출처 - 포트란?

포트 옆에 프로토콜은 두 사람 간의 합의된 약속이라는 의미를 내포한 단어로 네트워크 안에서 원활한 데이터 통신을 위한 필요한 규약이다.

주요 프로토콜 종류

잘 보면 포트 표에 보이는 프로토콜에 대한 설명이 되어 있다.

출처 - 프로토콜이란?

profile
Node.js 로 꿈을 꾸었다..

0개의 댓글