반응형
호스트를 지정할 때 Fast API/uvicorn이 작동하지 않음
나는 프론트엔드(예: Next.js 등)가 없는 윈도우 머신에서 uvicorn을 사용하여 파이썬에서 FastAPI 앱을 실행하고 있으므로 로컬 프론트엔드와 백엔드 간에 상호 작용이 없어야 한다. 다음 옵션 중 하나를 수행하면 정상적으로 작동합니다:
- 내 Mac에서 다음 코드를 실행하거나
- uvicorn에 대한 포트를 지정하지 않은 경우(uvicorn.run 호출에서 매개 변수 제거
- 포트 '127.0.0.1'을 지정하면 호스트를 전혀 지정하지 않을 때 호스트가 사용됩니다.
from fastapi import FastAPI
import uvicorn
app = FastAPI()
@app.get("/")
async def root():
return {"message": "Hello World"}
if __name__ == '__main__':
uvicorn.run(app, port=8080, host='0.0.0.0')
브라우저에서 0.0.0:8080으로 이동하면 "이 사이트에 연결할 수 없습니다"라는 오류 메시지가 나타납니다.
충돌이 발생하지 않는지 확인하기 위해 현재 활성 포트를 확인했으며 0.0.0:8080이 사용되고 있지 않습니다.
현재 파일 구성은 다음과 같습니다:
working_directory
└── app
├── gunicorn_conf.py
└── main.py
gunicorn_conf.py는 매우 단순하며 호스트와 포트를 설정하려고 합니다:
host = "0.0.0.0"
port = "8080"
호스트 '0.0.0.0'을(를) 지정할 때 이 작업을 수행하려면 어떻게 해야 합니까?
위의 질문을 쓰면서 해결책을 찾았고 다른 사람이 이 문제에 부딪힐 경우를 대비해 공유해야겠다고 생각했습니다. 그것이 작동하도록 하려면 "" 대신 ""를 웹 브라우저에 넣으면 잘 작동할 것이다. 이것은 파이썬 요청 패키지 등을 통해 엔드포인트에 도달하는 경우에도 작동합니다.
터미널에서 실행
, 소스 주소로 사용할 수 있습니다. 구현은 다양하다. 예를 들어 리눅스는 와 유사하게 취급한다.
당신의 웹 서버를 테스트할 때, 당신이 말하는 대로 요청을 보내는 것이 아마도 더 나은 생각일 것이다.
반응형
'개발하자' 카테고리의 다른 글
IPython/Jupiter 노트북 내부의 SQL 쿼리 형식 지정 (0) | 2023.06.07 |
---|---|
18번의 반응과 활자체를 가진 감정 (0) | 2023.06.06 |
svelte에서 변수가 변경되었을 때 console.log('yes')는 어떻게 합니까? (0) | 2023.06.05 |
유형 스크립트-eslint를 사용하여 VSCode 편집기에 유형 스크립트 오류가 표시되지 않음 (0) | 2023.06.05 |
노드와 포드 사이의 트래픽을 암호화하도록 Kubernetes를 구성하는 방법은 무엇입니까? (1) | 2023.06.04 |