서버를 키려고 하니 에러가 났다.
해당 에러는 에러에 표시한 포트번호를 이미 사용하고 있다는 뜻이다.
맥에선 터미널 명령어로 내가 서버를 킬려고 하는 포트가 어떻게 사용되고 있는지 간단히 확인 할 수 있었다.
//입력
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 포트를 바꿔주었더니 해결됐는데 궁금한 점은 어떤 포트를 부여하는것이 일반적일까? 라는 것이였다.
포트는 외부의 다른 장비와 접속하기 위한 플러그와 같은 것
컴퓨터는 IP 와 Port 로 접속장소를 찾아가는데, IP 는 컴퓨터를 찾을 때 필요한 주소를 나타내고, Port 는 컴퓨터 안에서 프로그램을 찾을 때 나타낸다 한다.
포트는 총 0번 ~ 65535번 으로 있으며, 3가지로 분류된다.
아래 이미지는 잘 알려진 포트 중 자주 사용하는 포트를 정리한 표이다.
출처 - 포트란?
포트 옆에 프로토콜은 두 사람 간의 합의된 약속이라는 의미를 내포한 단어로 네트워크 안에서 원활한 데이터 통신을 위한 필요한 규약이다.
잘 보면 포트 표에 보이는 프로토콜에 대한 설명이 되어 있다.
출처 - 프로토콜이란?