[FastAPI] Error: [WinError 10013] 액세스 권한에 의해 숨겨진 소켓에 액세스를 시도했습니다

merong·2024년 1월 22일
0

⚠ERROR! 모음zip

목록 보기
4/5

⛔Error 발생

FastAPI를 공부하던 도중, 아래와 같은 bash 명령을 통해 FastAPI와 호환되는 ASGI 웹 서버, uvicorn 서버를 생성해주려고 하였다.

$ uvicorn main:app --reload 

그러나 다음과 같은 error가 발생하고 말았다..☠️

Error: [WinError 10013] 액세스 권한에 의해 숨겨진 소켓에 액세스를 시도했습니다

✅Error 원인

이는 코드의 문제가 아니라, 누군가(본인 포함)가 동일한 포트를 사용하고 있기 때문이다.
나의 경우 노트북에서 8000(default) port가 기존에 사용되고 있었기 때문에, 이러한 에러가 발생하였다.
여러분도 cmd에서 netstat -ano | find "LISTEN" 또는 netstat -ano | findstr 8000 를 통해 해당 포트를 사용하고 있는지 확인해보시길😊

그러나, pc에서는 깔끔히 실행되던....

💘해결 방법

해결 방법은 간단하다.
다른 포트를 사용하거나, 현재 8000번 포트를 사용 중인 서비스를 종료하거나.

방법 1) 8000번 port를 사용하고 있으므로, 다른 사용하지 않는 port로 서버를 열어주면 된다.

기존의 uvicorn 실행 명령어에 port argument를 추가해주도록 하자!

uvicorn main:app --reload --port 8001

8001번으로 설정하여 실행했더니, 아무 문제없이 잘 실행되는 것을 확인할 수 있었다.

방법 2) 8000번 port를 사용하는 서비스 종료해주기

작업관리자 > 서비스로 이동하면 PID 리스트를 확인할 수 있는데 위에서 확인한 PID 번호를 찾아 어떤 프로세스가 포트를 이용하고 있는지 확인한다.

  • PID : netstat 명령어를 통해 8000번 port를 사용하고 있는 것이 밝혀졌을 때, LISTENING 오른쪽에 있는 숫자가 PID라는 것이다.

PID에 해당하는 서비스를 찾았으면, 오른쪽 버튼을 눌러 해당 서비스를 중지시키면 된다. 😎


REFERENCE
사용중인 포트 확인 및 종료하는 방법

profile
매일매일이 새로운 시작점

0개의 댓글