Ansible Academy · درس

إدارة الخدمات باستخدام systemd

ابدأ الخدمات وأوقفها وفعّلها

الدرس 3 من 413 خطوة

إدارة الخدمات باستخدام systemd درس مجاني في Ansible Academy على CoddyKit. هذا هو الدرس 3 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Ansible Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Ansible Academy 4 دروس في المجموع.

إدارة الخدمات طويلة التشغيل

تتحكم وحدة systemd في الخدمات التي يديرها systemd، وهو نظام التهيئة في معظم توزيعات Linux الحديثة. ويمكنكم استخدامها لبدء الخدمات وإيقافها وتمكينها.

بدء خدمة

حدّدوا اسم الخدمة واضبطوا state: started. تبدأ الوحدة الخدمة فقط إذا لم تكن قيد التشغيل، وتحافظ بذلك على خاصية idempotent.

ansible.builtin.systemd:
  name: nginx
  state: started

إيقاف خدمة

استخدموا state: stopped لإيقاف الخدمة. وكما هي الحال دائمًا، لا تتخذ الوحدة أي إجراء إلا إذا كانت الخدمة قيد التشغيل حاليًا.

ansible.builtin.systemd:
  name: nginx
  state: stopped

إعادة التشغيل وإعادة التحميل

تعيد state: restarted تشغيل الخدمة بالكامل، بينما تعيد reloaded قراءة الإعدادات من دون قطع الاتصالات. وتُعد إعادة التشغيل الخيار الآمن الافتراضي.

ansible.builtin.systemd:
  name: nginx
  state: restarted

البدء والتمكين مختلفان

تتحكم state في تشغيل الخدمة الآن. أما enabled فتتحكم في بدء تشغيلها تلقائيًا عند إقلاع النظام. وهما مستقلان عن بعضهما.

التمكين عند الإقلاع

اضبطوا enabled: true لكي تبدأ الخدمة تلقائيًا بعد إعادة التشغيل. ادمجوا ذلك مع started لتغطية الحالتين: الآن ولاحقًا.

ansible.builtin.systemd:
  name: nginx
  state: started
  enabled: true

إعادة تحميل عفريت systemd

بعد إضافة ملف unit جديد، اضبطوا daemon_reload: true لكي يعيد systemd قراءة إعداداته قبل التعامل مع الوحدة.

ansible.builtin.systemd:
  name: myapp
  daemon_reload: true

تبقى Idempotent

عند طلب started لخدمة قيد التشغيل، تحصلون على ok وليس changed. تتحقق الوحدة من الحالة الحالية قبل تنفيذ أي إجراء.

مطلوب الوصول بصلاحيات الجذر

يتطلب التحكم في الخدمات امتيازات، لذا أضيفوا become: true. ومن دونه، يرفض systemd الطلب وتفشل المهمة.

- name: Enable nginx
  become: true
  ansible.builtin.systemd:
    name: nginx
    enabled: true

توجد أيضًا وحدة service

تعمل وحدة service العامة عبر أنظمة التهيئة المختلفة. استخدموا systemd مباشرة عندما تحتاجون إلى خيارات خاصة به مثل daemon_reload.

تتوافق جيدًا مع Handlers

من الأنماط الشائعة إعادة تشغيل الخدمة فقط عند تغيّر إعداداتها. وتُشغّل Handlers، التي ستتعرفون إليها لاحقًا، عملية إعادة التشغيل عند حدوث التغيير.

اختبار سريع

تريدون تشغيل nginx الآن وكذلك بعد كل إعادة تشغيل.

مراجعة

تبدأ وحدة systemd الخدمات وتوقفها وتعيد تشغيلها وتمكّنها. تذكّروا أن state تعني الآن، بينما enabled تعني عند الإقلاع. ⚙️

البدء مجانًا

تعلم YAML مع معلم ذكاء اصطناعي — مجانًا

اكتب وقم بتشغيل أكوادك الفعلية في المتصفح، واحصل على مساعدة فورية من معلم ذكاء اصطناعي متاح 24/7، واستمر من حيث توقفت على الويب أو في التطبيق.

الدورات
30
الدروس
120

الأسئلة الشائعة

هل درس «إدارة الخدمات باستخدام systemd» مجاني؟

نعم — نص درس «إدارة الخدمات باستخدام systemd» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Ansible Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Ansible Academy 4 دروس في المجموع.

ماذا ستتعلم في «إدارة الخدمات باستخدام systemd»؟

ابدأ الخدمات وأوقفها وفعّلها تتمرن على Ansible Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ Ansible Academy؟

لا تُشترط خبرة سابقة. Ansible Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 3 من أصل 4.

كم من الوقت يستغرق درس «إدارة الخدمات باستخدام systemd»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس Ansible Academy هذا؟

نعم. كل درس في Ansible Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. ما هي الوحدة فعليًا
  2. تثبيت الحزم باستخدام وحدة package
  3. إدارة الخدمات باستخدام systemd
  4. قراءة الوثائق باستخدام ansible-doc
← العودة إلى Ansible Academy