روش اجرای fastapi با uvicorn در digitalocean
اگر در حال deploy پروژهی خود با fast api روی digitalocean با uvicorn هستید و نمیتوانید به درستی آن را اجرا کنید در این نوشته به روش انجام آن میپردازیم.
روش اجرای fastapi با uvicorn در digitalocean
یکی از مشکلاتی که اجرا و دپلوی fastapi با uvicorn وجود دارد این است که fastapi اجرا میشود اما پورتهای مورد نظر digitalocean را در app platform باز نمیکند. برای رفع این مشکل دستور اجرای app خود را در app platform دیجیتال اوشن را با کد زیر پر کنید:
uvicorn main:app --host=0.0.0.0 --port=${PORT:-8000}
اگر سوالی در ارتباط با کد بالا دارید در بخش نظرات این نوشته برای ما بنویسید.
برای امتیاز به این نوشته کلیک کنید!
[کل: 2 میانگین: 5]



















اگر main.py در پوشه دیگری باشه، چطور دستور تغییر می کنه؟
باید مسیر پوشه رو هم مشخص کنی. مثلاً اگر داخل پوشه app باشه:
uvicorn app.main:app --host=0.0.0.0 --port=${PORT:-8000}این روش برای پروژههای واقعی امن هست؟
بله، اما برای امنیت بیشتر در پروژههای واقعی بهتره پشت Nginx یا با Gunicorn + UvicornWorkers استفاده بشه.
این روش روی droplets معمولی هم جواب میده؟
بله، همین دستور روی droplets هم اجرا میشه، فقط باید مطمئن بشی فایروال پورت رو باز گذاشته باشه.
برای پروژههای بزرگ بهتره از Gunicorn همراه Uvicorn استفاده کنیم؟
دقیقاً. برای پروژههای سنگین Gunicorn + UvicornWorkers پیشنهاد میشه چون مدیریت پردازشها رو بهتر انجام میده.
اگر پورت باز نشه، چه خطایی دریافت می کنیم؟
معمولاً خطای connection refused یا port not available میاد و سرویس در دسترس قرار نمیگیره.