Uvicorn 이란 ?

윤서·2025년 5월 29일

CapstoneProject

목록 보기
9/11

모델 파일을 실행시킬 때 uvicorn 을 사용하여 실행시키게 됩니다.

FastaAPI나 Starlette로 웹 api를 개발한 경험이 있다면 아마 다음 명령어를 실행해본 적이 있을 것입니다.

uvicorn main:app --reload

이 명령어 속에는 비동기 python 웹 프레임 워크의 핵심이 있습니다.
오늘은 FastAPI를 실서비스로 구동할 때 필수로 사용하는 uvicorn에 대해 작성해보겠습니다.

🌐 Uvicorn이란?

Uvicorn은 python의 비동기 웹 프레임워크를 실행하기 위한 agsi 서버입니다. 쉽게 말해, fastapi로 만든 api를 실제 웹 요청을 받을 수 있는 "서버"형태로 실행해주는 엔진입니다.

🔍 왜 WSGI가 아니라 ASGI인 이유?

전통적인 Django나 Flask 에서는 wsgi라는 동기 기반 표준을 사용합니다. 하지만 비동기 처리, websocket, 스트리밍 api 같은 실시간 기능을 지원하려면 AGSI 라는 새로운 비동기 표준이 필요합니다.

WSGI: 한 번에 하나의 요청만 처리 ( 동기)
AGSI: 여러 요청을 동시에 처리 가능 ( 비동기 )

따라서 FastAPI와 같은 처리 프레이무어크는 AGSI 서버인 uvicorn을 사용해야합니다.

⚙️ Uvicorn 기본 실행 방법

옵션
main:app main.py파일의 app = FastAPI()객체
--host 0.0.0.0 외부 접속 허용
--port 8000 사용할 포트
--reload 코드 수정 시 자동 재시작 ( 개발 환경에서 유용 )

Uvicorn은 그 자체로 조용한 조력자이지만, FastAPI의 성능과 실시간성을 살리는 데 필수적인 존재입니다.

0개의 댓글