FastAPI

إطار عمل ويب Python حديث وعالي الأداء لإنشاء واجهات برمجة تطبيقات مع تلميحات النوع.

1. اتصل بخادمك

استخدم SSH للاتصال بخادمك:

ssh root@<server-ip>

2. الوصول إلى بيانات تسجيل الدخول

تم إنشاء مستخدم مخصص باسم fastapi لإدارة تطبيقك.

يمكنك العثور على بيانات تسجيل الدخول في هذا الملف: /root/.fastapi-creds

لعرضها، قم بتشغيل:

cat /root/.fastapi-creds

إذا كنت ترغب في تغيير كلمة المرور، استخدم:

passwd fastapi

3. التبديل إلى مستخدم التطبيق

انتقل إلى حساب مستخدم fastapi لإدارة تطبيقك:

su - flask

يحتوي هذا الحساب على مشروع FastAPI وبيئتك.

4. هيكل المشروع

فيما يلي تخطيط الدليل الافتراضي:

/home/fastapi/fastapi_app/
├── main.py          → Your main FastAPI application file
├── venv/            → Virtual environment
└── __pycache__/     → Compiled Python files (auto-generated)

5. إدارة طلبك

انتقل إلى دليل التطبيق:

cd ~/fastapi_app

تنشيط البيئة الافتراضية:

source venv/bin/activate

قم بتحرير ملف التطبيق الرئيسي:

nano main.py

أعد تشغيل خدمة FastAPI لتطبيق التغييرات:

sudo systemctl restart uvicorn-fastapi

6. عرض السجلات

يمكنك التحقق من سجلات Uvicorn و Nginx على النحو التالي:

  • سجلات Uvicorn: /var/log/uvicorn/
  • سجل أخطاء Nginx: /var/log/nginx/error.log
  • سجل الوصول إلى Nginx: /var/log/nginx/access.log

لعرضها:

sudo tail -f /var/log/uvicorn/*

7. الوصول إلى واجهة برمجة التطبيقات الخاصة بك

بمجرد تشغيل الخدمة، سيصبح تطبيق FastAPI متاحًا في متصفحك على العنوان التالي: http://<server-ip>

يقوم Nginx تلقائيًا بإعادة توجيه طلبات HTTP إلى مقبس Uvicorn الذي يشغل تطبيق FastAPI الخاص بك.

8. تغيير المجال أو المنفذ

إذا كنت ترغب في تحديث اسم الخادم أو المنفذ أو المجال:

  1. تحرير تكوين موقع Nginx: sudo nano /etc/nginx/sites-available/uvicorn-fastapi
  2. تكوين الاختبار: sudo nginx -t
  3. إعادة تحميل Nginx: sudo systemctl restart nginx

9. خدمة Uvicorn

يعمل تطبيق FastAPI عبر خدمة systemd تسمى uvicorn-fastapi.

يستخدم /home/fastapi/fastapi_app/main:app كنقطة دخول للتطبيق ويتم إعادة تشغيله تلقائيًا في حالة الفشل.

لإدارة الخدمة:

systemctl status uvicorn-fastapi
systemctl restart uvicorn-fastapi

لتحرير الخدمة:

sudo vim /etc/systemd/system/uvicorn-fastapi.service
sudo systemctl daemon-reload
sudo systemctl restart uvicorn-fastapi
sudo systemctl status uvicorn-fastapi

10. تمكين HTTPS (اختياري)

استخدم Certbot لتمكين HTTPS.

تفاصيل الطلب