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. تغيير المجال أو المنفذ
إذا كنت ترغب في تحديث اسم الخادم أو المنفذ أو المجال:
- تحرير تكوين موقع Nginx:
sudo nano /etc/nginx/sites-available/uvicorn-fastapi - تكوين الاختبار:
sudo nginx -t - إعادة تحميل 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.