질문
FastAPI 배포할때 uvicorn 그냥 띄우면 됨?
로컬에서는 uvicorn main:app --reload 로 돌림
서버에서도 이렇게 하면 되는건지
로컬에서는 uvicorn main:app --reload 로 돌림
서버에서도 이렇게 하면 되는건지
--reload 는 빼고, 워커 수를 정해 systemd 로 띄우고 앞에 nginx 를 두면 됩니다. --reload 는 파일이 바뀔 때마다 다시 켜는 개발용이라 운영에서는 느리고 불안정합니다. 1. 가상환경 만들고 pip install -r requirements.txt 2. uvicorn main:app --host 127.0.0.1 --port 8000 --workers 2 (워커는 코어 수 정도) 3. 이 명령을 systemd 서비스로 등록하고 Restart=always 4. nginx 에서 proxy_pass http://127.0.0.1:8000; 로 넘기고 https 를 붙입니다 주의: --host 0.0.0.0 으로 열면 nginx 를 거치지 않고 8000 이 바깥에 그대로 열립니다. 127.0.0.1 로 두고 방화벽은 80, 443 만 여세요. 정리해 둔 글: 「디스코드 봇 24시간 돌리는 법 (사양, 자동 재시작, 토큰 관리)」 글 보기 → 국내 단독형 요금 예시: 「에그호스팅 VPS 요금과 사양」 글 보기 →
reload 켜놓고 운영하다가 로그 파일 바뀔때마다 재시작돼서 한참 헤맴