كيفية تثبيت وإدارة Supervisor على خواديم أوبنتو و دبيان
تعد أدوات إدارة العمليات والخدمات من أهم العوامل التي تسهم في استقرار الأداء على خواديم لينكس. من بين الأدوات الشائعة في هذا المجال تأتي Supervisor، وهي أداة تسهل من إدارة العمليات ومراقبتها على النظام. في هذا المقال، سنتناول كيفية تثبيت Supervisor على توزيعات أوبنتو و دبيان، بالإضافة إلى كيفية تكوينه وإدارته بفعالية لضمان استمرارية العمليات والتطبيقات الحيوية دون انقطاع.
1. مقدمة عن Supervisor
Supervisor هو أداة قوية ومفتوحة المصدر لإدارة وتنظيم العمليات التي تعمل في الخلفية على أنظمة لينكس و يونيكس. يتيح للمستخدمين تشغيل ومراقبة وإعادة تشغيل العمليات (أو الخدمات) بشكل آلي عند تعطلها. يدير Supervisor العمليات باستخدام ملفات تكوين قابلة للتخصيص، كما يوفر واجهات متعددة، بما في ذلك واجهة سطر الأوامر وواجهة ويب.
تتمثل الفائدة الرئيسية من استخدام Supervisor في أنه يقدم حلاً بسيطًا وفعالًا للمشاكل التي قد تنشأ من عمليات غير مستقرة أو معطلة على الخوادم، مما يضمن أن التطبيقات الحيوية تظل قيد التشغيل دون الحاجة إلى تدخل يدوي مستمر.
2. تثبيت Supervisor على توزيعات أوبنتو ودبيان
Supervisor متاح من خلال مستودعات APT الافتراضية في كل من أوبنتو و دبيان، مما يسهل عملية التثبيت.
2.1 تثبيت Supervisor على أوبنتو
لتثبيت Supervisor على أوبنتو، يجب أولاً تحديث قائمة الحزم المتاحة ومن ثم تثبيت الحزمة نفسها عبر الأوامر التالية:
-
تحديث مستودعات النظام:
bashsudo apt update -
تثبيت Supervisor:
bashsudo apt install supervisor
عند تنفيذ هذه الأوامر، سيقوم APT بتحميل الحزم الضرورية وتثبيتها بشكل تلقائي، بما في ذلك supervisord (الخدمة الرئيسية) وملفات التكوين اللازمة.
2.2 تثبيت Supervisor على دبيان
عملية تثبيت Supervisor على دبيان مماثلة تمامًا لتلك التي على أوبنتو. فقط قم بتحديث الحزم وتثبيت Supervisor عبر الأوامر التالية:
-
تحديث المستودعات:
bashsudo apt update -
تثبيت Supervisor:
bashsudo apt install supervisor
بعد تثبيت Supervisor على كل من أوبنتو و دبيان، سيتم تشغيل الخدمة تلقائيًا عند بدء النظام، ويمكن التحقق من حالتها عبر الأمر:
bashsudo systemctl status supervisor
3. إدارة Supervisor باستخدام أوامر سطر الأوامر
يتم إدارة Supervisor من خلال الأوامر التي تسمح بتشغيل وإيقاف العمليات، بالإضافة إلى مراقبتها. فيما يلي بعض الأوامر الأساسية لإدارة Supervisor:
-
تشغيل الخدمة:
لتشغيل خدمة supervisord (المعروفة أيضًا بالعملية الرئيسية):bashsudo systemctl start supervisor -
إيقاف الخدمة:
لإيقاف supervisord:bashsudo systemctl stop supervisor -
إعادة تشغيل الخدمة:
لإعادة تشغيل supervisord:bashsudo systemctl restart supervisor -
تمكين الخدمة عند بدء التشغيل:
لضمان بدء تشغيل supervisord مع كل تشغيل للنظام:bashsudo systemctl enable supervisor -
تعطيل الخدمة عند بدء التشغيل:
لتعطيل بدء تشغيل supervisord عند بدء تشغيل النظام:bashsudo systemctl disable supervisor
4. تكوين Supervisor
لكل عملية أو خدمة تريد إدارة مراقبتها عبر Supervisor، يجب إنشاء ملف تكوين مخصص لهذه الخدمة. تقع ملفات التكوين عادة في /etc/supervisor/conf.d/. لشرح كيفية تكوين خدمة جديدة في Supervisor، نتبع الخطوات التالية:
-
إنشاء ملف تكوين جديد في /etc/supervisor/conf.d/:
على سبيل المثال، لتشغيل تطبيق ويب يعتمد على Python أو أي تطبيق آخر، نقوم بإنشاء ملف تكوين كالتالي:bashsudo nano /etc/supervisor/conf.d/myapp.conf -
إضافة محتويات ملف التكوين:
محتويات ملف التكوين عادة ما تكون مشابهة لما يلي:ini[program:myapp] command=/usr/bin/python3 /path/to/myapp.py autostart=true autorestart=true stderr_logfile=/var/log/myapp.err.log stdout_logfile=/var/log/myapp.out.log-
command: يحدد الأمر أو السكربت الذي سيشغل التطبيق. -
autostart: يحدد ما إذا كان يجب بدء التطبيق تلقائيًا عند بدء supervisor. -
autorestart: يحدد ما إذا كان يجب إعادة تشغيل التطبيق تلقائيًا إذا فشل. -
stderr_logfileوstdout_logfile: تحديد ملفات السجلات الخاصة بالأخطاء والإخراج.
-
-
تحديث Supervisor بملفات التكوين الجديدة:
بعد إضافة ملف التكوين، يجب أن يقوم Supervisor بإعادة تحميل ملفات التكوين للتعرف على التطبيقات الجديدة:bashsudo supervisorctl reread sudo supervisorctl update -
بدء الخدمة الجديدة:
لتشغيل التطبيق الذي تم تكوينه، استخدم الأمر التالي:bashsudo supervisorctl start myapp
5. مراقبة العمليات باستخدام Supervisor
تتيح لك Supervisor مراقبة حالة التطبيقات التي تديرها بسهولة عبر أوامر سطر الأوامر.
-
عرض حالة جميع البرامج:
لعرض حالة جميع العمليات التي يديرها Supervisor:bashsudo supervisorctl status -
عرض حالة برنامج معين:
لعرض حالة برنامج معين:bashsudo supervisorctl status myapp -
إعادة تشغيل عملية معينة:
لإعادة تشغيل عملية معينة في حال حدوث مشكلة أو تعديلات على تكوينها:bashsudo supervisorctl restart myapp -
إيقاف عملية معينة:
لإيقاف عملية معينة يديرها Supervisor:bashsudo supervisorctl stop myapp
6. الوصول إلى واجهة الويب الخاصة بـ Supervisor
إذا كنت بحاجة إلى مراقبة وإدارة Supervisor من واجهة رسومية، يمكنك تكوين واجهة الويب الخاصة به. عادة، يتم تكوين هذه الواجهة عبر إضافة إعدادات إلى ملف supervisord.conf:
-
تعديل ملف التكوين:
افتح /etc/supervisor/supervisord.conf وأضف التالي:ini[inet_http_server] port=127.0.0.1:9001 username=user password=passهذا يتيح الوصول إلى واجهة الويب عبر http://localhost:9001 باستخدام بيانات الدخول المحددة (اسم المستخدم وكلمة المرور).
-
إعادة تشغيل supervisord:
بعد التعديل على ملف التكوين، يجب إعادة تشغيل supervisord:bashsudo systemctl restart supervisor
7. التحديثات والصيانة
من الأمور الهامة التي يجب أن تكون على دراية بها عند استخدام Supervisor هو تحديثه بشكل دوري. يمكن تحديث Supervisor من مستودعات APT باستخدام الأمر:
bashsudo apt update sudo apt upgrade supervisor
الخاتمة
تعد Supervisor أداة أساسية في بيئات الخوادم لضمان استقرار العمليات والتطبيقات. من خلال توفير أداة لإدارة العمليات بمرونة، وتسجيل الأخطاء، وإعادة تشغيل الخدمات التلقائي، أصبح Supervisor حلًا موثوقًا لكل من يحتاج إلى مراقبة تطبيقات وخدمات الخلفية على أوبنتو و دبيان. باستخدام الأوامر المناسبة وتعديل ملفات التكوين، يمكن للمسؤولين ضمان عمل التطبيقات بأعلى مستوى من الكفاءة والموثوقية.

