Watch
1
0
Fork
You've already forked Seyyed_arc
0
forked from hesabix/arc
Seyyed_arc/docs/SYSTEMD_SERVICE.md
2026-04-14 19:34:55 +03:30

2.5 KiB
Executable file

مدیریت سرویس Hesabix API با systemd

سرویس Hesabix API به صورت خودکار با systemd مدیریت می‌شود و با راه‌اندازی مجدد سیستم به صورت خودکار اجرا می‌شود.

دستورات مدیریتی

مشاهده وضعیت سرویس

systemctl status hesabix-api.service

شروع سرویس

systemctl start hesabix-api.service

توقف سرویس

systemctl stop hesabix-api.service

راه‌اندازی مجدد سرویس

systemctl restart hesabix-api.service

مشاهده لاگ‌های سرویس

# مشاهده لاگ‌های اخیر
journalctl -u hesabix-api.service -n 50

# مشاهده لاگ‌های زنده (real-time)
journalctl -u hesabix-api.service -f

# مشاهده لاگ‌های از یک زمان خاص
journalctl -u hesabix-api.service --since "1 hour ago"

فعال/غیرفعال کردن اجرای خودکار

# فعال کردن اجرای خودکار
systemctl enable hesabix-api.service

# غیرفعال کردن اجرای خودکار
systemctl disable hesabix-api.service

تنظیمات سرویس

فایل سرویس در مسیر زیر قرار دارد:

/etc/systemd/system/hesabix-api.service

تغییر تعداد Workers

برای تغییر تعداد worker ها، فایل سرویس را ویرایش کنید:

sudo nano /etc/systemd/system/hesabix-api.service

سپس خط ExecStart را ویرایش کنید:

ExecStart=/var/www/ark/hesabixAPI/.venv/bin/uvicorn app.main:app --host 0.0.0.0 --port 8000 --workers 4

بعد از تغییر، سرویس را reload کنید:

sudo systemctl daemon-reload
sudo systemctl restart hesabix-api.service

بررسی عملکرد

تست Health Endpoint

curl http://localhost:8000/api/v1/health

مشاهده پروسه‌های در حال اجرا

ps aux | grep uvicorn

نکات مهم

  1. سرویس به صورت خودکار با راه‌اندازی مجدد سیستم اجرا می‌شود
  2. در صورت crash، سرویس به صورت خودکار restart می‌شود (با تأخیر 10 ثانیه)
  3. لاگ‌ها در systemd journal ذخیره می‌شوند و با journalctl قابل مشاهده هستند
  4. سرویس با 4 worker اجرا می‌شود که می‌تواند برای بار بالا مناسب باشد