كيفية بدء تشغيل الخدمات تلقائيًا على التمهيد في Linux؟

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

قد تكون هناك أسباب مختلفة لإعادة تشغيل الخادم ، بما في ذلك ما يلي.

  • مجدولة أسبوعيا ، شهريا
  • غير متوقع بسبب مشكلة في الأجهزة / النواة

من خلال إجراء التكوين الصحيح ، لن تضطر إلى بدء تشغيلها يدويًا في كل مرة تقوم فيها بإعادة التشغيل.

القليل من الأتمتة. أليس كذلك؟

الأمثلة التالية مخصصة لاثنين من التوزيعات الشائعة التي تم اختبارها ديجيتال أوشن الخوادم.

CentOS أو RHEL 6.x

في المثال التالي ، أخذت خادم Apache HTTP ، لكن الإجراء يظل كما هو بالنسبة لأي خدمات أخرى ترغب في بدء تشغيلها عند التمهيد في إصدار Red Hat Enterprise Linux (RHEL) أو CentOS 6.

يمكنك الاحتفاظ بأي اسم ملف نصي ، وهنا احتفظت بـ httpd

  • كن مستخدمًا جذريًا على خادم Linux الخاص بك
  • قم بإنشاء أو نسخ البرنامج النصي الخاص بك ضمن /etc/init.d/
[[email protected] init.d]# ls -ltr httpd
-rwxr-xr-x. 1 root root 3371 Jan 6 08:56 httpd
[[email protected] init.d]#

سنستخدم الأداة المساعدة chkconfig المتوفرة بشكل افتراضي على Linux أو CentOS.

  • أضف البرنامج النصي لبدء التمهيد باستخدام chkconfig مع –add معلمة
[[email protected] init.d]# chkconfig --add httpd
[[email protected] init.d]# chkconfig httpd on
  • تم إضافة نص التأكيد بنجاح مع –list
[[email protected] init.d]# chkconfig --list httpd
httpd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
[[email protected] init.d]#

هذا كل شئ! سيتم استدعاء البرنامج النصي httpd لبدء الخدمات في تمهيد Linux.

  أفضل 5 توزيعات Linux للألعاب

في حالة احتياجك إلى تعطيل خدمة بدء التشغيل التلقائي ، يمكنك استخدام الأوامر التالية

chkconfig httpd off
chkconfig --del httpd

RHEL أو CentOS 7.x / 8.x

يختلف إجراء تكوين الخدمات عند التمهيد في RHEL 7 قليلاً عن RHEL 6. ويستخدم systemd لإدارة الخدمات.

تتم إضافة معظم البرامج مثل نصوص Apache و PHP و MySQL و Nginx إلى الخدمات عند تثبيتها.

لنأخذ مثالاً على PHP-FPM.

أول شيء أولاً ، دعنا نرى حالة php-fpm (هذا نفترض أن لديك بالفعل نصوص برمجية في / usr / lib / systemd / system /)

[[email protected] ~]# systemctl status php-fpm
php-fpm.service - The PHP FastCGI Process Manager
Loaded: loaded (/usr/lib/systemd/system/php-fpm.service; disabled; vendor preset: disabled)
Active: inactive (dead) 
[[email protected] ~]#

كما ترى ، تم تعطيل الحالة مما يعني أنه لم يتم تكوينها لبدء التشغيل.

  كيفية إصلاح JBoss AS عالق عند البدء في Linux؟

لنقم بتمكين php-fpm لبدء التمهيد باستخدام systemctl

[[email protected] ~]# systemctl enable php-fpm
Created symlink from /etc/systemd/system/multi-user.target.wants/php-fpm.service to /usr/lib/systemd/system/php-fpm.service.
[[email protected] ~]#

الآن ، دعنا نرى الحالة

[[email protected] ~]# systemctl status php-fpmphp
php-fpm.service - The PHP FastCGI Process Manager
   Loaded: loaded (/usr/lib/systemd/system/php-fpm.service; enabled; vendor preset: disabled)    Active: inactive (dead) 
[[email protected] ~]#

تم إعداد php-fpm للبدء في التمهيد. دعونا نختبرها عن طريق إعادة تشغيل الخادم.

إذا احتجت في أي وقت إلى تعطيل خدمات بدء التشغيل عند التمهيد ، فيمكنك استخدام الأمر أدناه

systemctl disable php-fpm

قد تفضل أيضًا الاطلاع على هذا المنشور الذي يشرح خدمات النظام والبدء التلقائي عند التمهيد.

أوبونتو

يختلف تكوين خدمات بدء التشغيل التلقائي في Ubuntu قليلاً. لنفترض أن اسم البرنامج النصي هو Nginx

  • قم بتسجيل الدخول إلى خادم Ubuntu باستخدام الجذر
  • انسخ البرنامج النصي في المجلد /etc/init.d/
  • قم بتنفيذ الأمر أدناه
update-rc.d nginx defaults
  • أعد تشغيل الخادم للتأكد من بدء الخدمات.
  كيفية الحصول على مواصفات النظام لجهاز كمبيوتر يعمل بنظام Linux

لقد ساعدني هذا وأعتقد أنه سيكون مفيدًا لك أيضًا.

إدارة النظام دائمًا ممتعة ومليئة بالتحديات ، وإذا كنت تتطلع إلى تعزيز حياتك المهنية فيها ، فيمكنك الرجوع إلى هذا دورة Udemy.

بعد ذلك ، تحقق من كيفية العثور على سبب إعادة التشغيل المفاجئ لنظام Linux.
توجه إلى هنا حيث تريد تثبيت / ترقية PHP-FPM 5.6 على CentOS 6.x.

استمتعت بقراءة المقال؟ ماذا عن المشاركة مع العالم؟