FastAPI에서 Uvicorn의 역할

gclee·2024년 4월 28일

FastAPI

목록 보기
4/7

FastAPI는 현대적이고 빠른 웹 프레임워크로, 비동기 프로그래밍을 지원합니다. 이 프레임워크는 Uvicorn을 기본 ASGI 서버로 사용하여 뛰어난 성능을 제공합니다.

Uvicorn이란?

Uvicorn은 가벼우면서도 빠른 ASGI 서버 구현체입니다. 이는 비동기 프로그래밍을 지원하며, Python의 비동기 웹 프레임워크와 함께 사용되기 위해 설계되었습니다. Uvicorn은 Starlette와 같은 ASGI 프레임워크에 기반한 애플리케이션을 위한 이상적인 환경을 제공하며, FastAPI와 같은 최신 웹 프레임워크에서도 널리 사용됩니다.

로컬 개발 환경에서의 Uvicorn 설정

FastAPI 프로젝트를 로컬에서 실행할 때, Uvicorn은 다음과 같은 과정으로 설정됩니다:

  1. 디렉토리 감시: Uvicorn은 파일 변경을 감지하고 자동으로 서버를 재시작하는 기능을 제공합니다. 이는 개발 중 코드 변경이 있을 때마다 서버를 수동으로 재시작할 필요가 없게 해줍니다.
  2. 서버 실행: uvicorn 명령어와 함께 실행하고자 하는 애플리케이션의 파일 이름을 지정함으로써 서버를 시작할 수 있습니다. 예를 들어, uvicorn main:app --reload 명령은 main.py 파일 내의 app 객체에 대한 FastAPI 애플리케이션을 실행하고, 코드 변경 시 자동으로 리로드합니다.
  3. 프로세스 관리: Uvicorn은 서버 프로세스를 관리하며, 애플리케이션의 시작과 종료를 로깅으로 기록합니다. 이 정보는 개발자가 애플리케이션의 상태를 모니터링하는 데 유용합니다.

0개의 댓글