5000포트 사용 중 ?

Jung·2021년 10월 29일
1

TIL

목록 보기
38/77
post-thumbnail
post-custom-banner

오늘은 실습을 하고 용어도 정리하며 공부를 진행해보려고 했지만 오후에 있을 구현 테스트를 위해 로컬 환경을 다시 만져보았다. 하지만

이런 에러가 떴다. 잘 되던 놈이 왜 갑자기 안 되냐고...😡

어제 Mac OS Monterey로 업데이트 하긴 했는데 이거 때문에 안 되는 거인지는 모르겠다.
근데 분명히 업데이트 전까지는 잘 됐는데 이상하다...

결론은 아직 해결하지 못 했다.

lsof -i :5000

명령어를 사용하여 5000번 포트를 사용하는 프로세스를 찾아보고 강제 종료 해봤지만 소용이 없었다.

if __name__ == "__main__":
    app.run(host="0.0.0.0", port=5000, debug=True)

코드의 이 부분에 문제가 있는 모양이다.

이렇게 넣고 실행하면 [Errno 48] Address already in use 에러가 뜨면서 실행이 되지 않고

app.run(host="127.0.0.1", port=5000, debug=True)

이렇게 넣고 실행하면 실행은 잘 된다. 웹 브라우저에 127.0.0.1:5000로 접속하면 잘 들어가진다.
하지만 localhost:5000로는 들어갈 수 없다.

계속 테스트 해도 진전이 없자 내 맥북에 문제가 있나 싶어 진짜진짜 고민하다가 결국 맥북을 초기화했다...

근데 초기화 하고 환경 세팅을 다 갖춰 실행해봤는데도 똑같았다. 정말 맥이 빠졌다 ㅠㅠ


그래서 다시 테스트를 해봤다...

sudo vim /private/etc/hosts

명령어를 사용하면 hosts 파일을 확인할 수 있다.

# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting.  Do not change this entry.
##
127.0.0.1       localhost
...

이 파일에는 분명 127.0.0.1과 localhost가 매핑 되어 있는데 왜 안 되는 것일까...

다른 호스트에서 접근하고자 한다면 app.run() 함수에 host 인자를 넘겨주면 된다. 또한 네트워크를 '0.0.0.0'으로 지정하면 어떤 호스트에서도 연결이 가능하다.

여러 가지를 테스트해봤는데

app.run(host="0.0.0.0", port=5001, debug=True)

host를 0.0.0.0으로 하고 port를 5000으로 하면 5000 포트가 사용 중이라고 뜬다. (나중에 발견한 사실이지만 7000번 포트도 사용 중이라고 뜬다.)

host를 0.0.0.0으로 하려면 port를 5000이 아닌 5001이나 다른 포트로 변경하면 실행이 된다. 그리고 웹 브라우저에서 localhost:해당 포트 번호 로 정상적으로 들어가진다.

처음에 포트 변경해서 테스트할 때 6000번 포트로 변경해봤다. 서버는 실행되지만 웹 브라우저(크롬, 사파리)에서 들어가지지 않았다. 6000번 포트도 안 되길래 맥북 초기화 했던 것...

https://superuser.com/questions/188058/which-ports-are-considered-unsafe-by-chrome
위 링크로 들어가 보면 크롬에서 막는 포트 번호 리스트가 나와 있다. 실제로 여기 나와 있는 포트로 변경해서 크롬 브라우저로 들어가보면 ERR_UNSAFE_PORT라고 뜬다.

조금만 더 신중했다면 초기화 할 일은 없었을텐데...
그래도 새로운 지식을 알게 되어서 불행 중 다행이라고 생각한다.

근데 왜 잘 되던 0.0.0.0:5000이 안 되는 것일까.. 해결하지 못 했다................. 이번 Mac OS Monterey 업데이트가 문제가 있는 걸까..?


https://www.inflearn.com/blogs/1695

이곳에 해결 방법을 적었다!

결론: 시스템 환경설정 -> 공유 -> AirPlay 수신모드 체크 해제하면 된다.

Monterey로 업데이트 되면서 맥북에도 AirPlay 수신모드 기능이 생겼는데 이 기능에서 5000포트를 사용한다고 한다.

profile
97kim.github.io
post-custom-banner

1개의 댓글

comment-user-thumbnail
2023년 3월 14일

감사합니다 어느 순간부터 5000포트에서 서버 안돌아가길래 왜지? 싶었는데 airplay때문이었던걸 알게되네요!

답글 달기