buy vpn kharid vpn kerio vpn mobile vpn
Supervisor | رایانش ابری
System-Administrator
مدیریت فایل در لینوکس
۱۳۹۳/۱۰/۰۵
cloud standards
NFV
۱۳۹۳/۱۱/۱۶
نمایش همه
System-Administrator

سوپر وایزر

خب فکر کنم دیگه باید کم کم وارد مباحت تخصصی تری در زمینه مباحث مدیریتی سرور ها شویم . آموزش های من همانطوری که قبلا هم گفته ام پیش فرض ، بر روی توزیع های دبیان و یا اوبونتوی لینوکس است . این پست در زمینه سوپروایزر است .  شاید برنامه ای داشته باشید که می خواهید به صورت مداوم بر روی سیستم عامل در حال اجرا باشند مثلا اسکریپت های خاصی یا فایل های اجرایی بعضی برنامه ها . مثلا فرض کنید سرویس آپاچی مشکل پیدا کرده و بدون اینکه شما متوجه شوید متوقف می شود . می توانید یک اسکریپت بنویسید و آن را داخل crontab لینوکس قراردهید و بگید مثلا هر نیم ساعتی برنامه رو چک کن اگر متوقف شده انرا مجددا آغاز کن . اما من پیشنهاد بهتری دارم و ان هم استفاده از سوپروایزره .

سوپروایز یک برنامه مدیریت فرآیندهااست که با مانیتور و کنترل فرآیند ها آنها را مدیریت می کند . خب به صورت گام به گام مراحل نصب ، اضافه کردن برنامه ها به سوپروایزر و مدیریت برنامه ها را توضیح می دهم .

نصب :

اگر به عنوان کاربر روت وارد محیط  لینوکس شدید با زدن دستور زیر می توانید شروع به نصب سوپروایزر کنید . نیازی نیست ریپازیتوری های (آدرس مخازن ) سیستم عامل رو مجددا بسازید چون آدرس مخزن سوپروایزر در آن وجود دارد :

apt-get install supervisor

بعد از نصب ، دایمون سوپروایزر شروع به فعالیت میکنه اما اگه بخواهید مطمئن شوید می توانید با دستور زیر آن را مجددا بازنشانی نمایید :

service supervisor restart

خب حالا سوپروایزر نصب است و ما شروع به اضافه کردن برنامه های خود به آن می کنیم .

اضافه کردن یک برنامه :

فرض کنید می خواهیم یک برنامه به سوپروایزر اضافه کنیم که سرویس آپاچی رو اجرا کنه ، برنامه هایی که به سوپرویزر اضافه می شوند باید nondaemonizing باشند یعنی به لیست سرویس های init اضافه نشده باشند و نیاز باشه حتما توسط کاربر شروع ، خاتمه یا بازنشانی شوند . کلا برای اضافه کردن هر برنامه ای باید فایل دستور اون رو به /etc/supervisor/conf.d اضافه کنیم . برای نمونه دستور آپاچی رو( بااین فرض که nondaemonizing هست ) به محیط اجرااضافه میکنم وبخش های مختلفشو توضیح میدم :

پس در قدم اول یک فایل بانام apa.conf در مسیر داده شده اضافه میکنیم و دستورات زیر رو به آنها اضافه میکنیم :

[program:apa]

command=service apache2 start

autostart=true

autorestart=true

stderr_logfile=/var/log/apa.err.log

stdout_logfile=/var/log/apa.out.log

خب حالا با هم هر بخش دستور رو بررسی میکنیم ؛ خط اول [program:apa]  فایل پیکربندی با تعریف اسم برنامه شروع میشه ، دستور command هم مسیر کامل اجرای فایل اسکریپت یا دستوری که میخواهید برنامه اجرا بشه رو اضافه میکنید .

autostart=true

autorestart=true

این دو دستور هم رفتار پیش فرض اجرای خودکار دستورات اسکریپت تحت شرایط خاص است . autostart  به سوپروایزر میگه دستور باید بعد از بالا اومدن سیستم اجرا بشه اگه به مقدار false تغییرش بدید مجبورید بعد از بالا اومدن سیستم خودتون دستی ، دستور رو اجرا کنید . autorestart  به سوپروایزر میگه چطوری دستور رو مدیریت کنه و ۳ مقدار برای تعریفش وجود داره  :

False : لازم نیست برنامه در صورت وجود دوباره اجرا بشه

True  : حتی اگه برنامه وجود داره دوباره اجراش کن

Unexpected : به سوپروایزر میگه زمانی برنامه رو بازنشانی مجدد کن که با یک خطای غیر منتظره در حال اجرا باشه .

دو خط آخر هم مسیر قرار گیری فایل های لاگ (پیام اجرا) رو مشخص میکنه .

حالا فایل رو ذخیره و از محیط ویرایش خارج بشید .

این ساده ترین دستوری بود که میتونستم بگم . بعد از این با انجام دو دستور زیر لیست سوپروایزر رو به روز میکنیم تا برنامه در لیست برنامه های سوپروایزر قرار بگیره .

supervisorctl reread

supervisorctl update

این دو دستور رو باید بعد از اجرای هر تغییری در فایل های سوپروایزر اجرا کنید .

مدیریت سوپروایزر  :

با زدن دستور زیر وارد محیط سوپروایزر می شوید و می توانید دستورات مدیریتی را اعمال کنید :

supervisorctl

supervisor>

حالا اگه دستور help رو بزنید لیست دستورات مدیریتی سوپروایزر رو ببینید :

supervisor> help

default commands (type help ):

=====================================

add    clear  fg        open  quit    remove  restart   start   stop  update

avail  exit   maintail  pid   reload  reread  shutdown  status  tail  version

در زیر لیست چند دستور پرکاربرد تر رو براتون میذارم . امیدوارم که راهنمای خوبی براتون باشه .

supervisorctl status

وضعیت برنامه های موجود در سوپروایزر رو به شما نشون میده .

supervisorctl stop apa

برنامه معین شده رو متوقف میکند .

supervisorctl start apa

برنامه معین شده را آغاز میکند .

 

کریمی
کریمی
کارشناس سخت افزار | دانشگاه فردوسی مشهد محقق در زمینه رایانش ابری | زیرساخت به عنوان سرویس آشنایی با انواع پلت فرم های زیرساخت | openstack | Eucalyptus | OpenNebula تجربه کاری در زمینه شبکه : Linux | Debian | Ubuntu Cisco | CCNA | CCNP Microsoft | Server 2003

1 دیدگاه

  1. سجاد می‌گه:

    تشکر استفاده کردم، مقاله آموزشی خوبی بود.

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *