آموزش های لینوکس کانفیگ و مدیریت سرور

مانیتور پروسس ها در لینوکس

2018-08-11-20-00-08
Written by LearnSpot Group

سلام! بعد از یک وقفه نسبتا طولانی با آموزش دیگه برای لینوکس پروفشنالز 😀 در خدمتتون هستیم.

این اموزش توضیح میدیم چطوری یک برنامه که در لینوکس درحال اجراست رو مانیتور کنیم ، به طور مثال اگر وب سرور دان شد به صورت خودکار استارت شود و یا …

برای اینکار از Supervisord استفاده میکنیم.

اطلاعات پکیج در : (Centos)

همانطور که مشاهده میکنید اخرین نسخه اون در مخزن epel قرار داره که نسخه ۲٫۱ هست البته اخرین نسخه اون در حال حاظر ۳ هست که میتونید به کمک pip اون رو نصب کنید.در این اموزش از همان yum نسخه ۲٫۱ نصب و اموزش داده میشود

برای نصب از طریق yum حتما باید epel نصب باشد برای اینکار از دستور زیر استفاده کنید:

برای نصب با pip با دستور زیر میتونید نصب کنید:

برای ubuntu نیز:

خب پس از نصب با دستور زیر سرویس رو استارت کنید
pre class=”lang:default decode:true “>Centos: service supervisord start

Uubuntu: service supervisor start

فایل کانفیگ فوق رو باز کنید،هدف ما این هست به عنوان مثال اسکریپت زیر با supervisor اجرا کنیم:

همانطور که مشاهده میکنید اسکریپت فوق به صورت حلقه و پیوسته تا بی نهایت اجرا میشه و ما از supervisor استفاده میکنیم که اگر مشکلی در حین اجرا پیش اومد کنترل شده باشه و نیازی نباشه اسکریپت رو دوباره اجرا کنیم.+ اینکه به صورت خودکار پس از  ریبوت سیستم با supervisor اجرا میشه

دستور زیر رو وارد کنید(پس از ذخیره کد فوق در فایل فرضی /root/app.sh )

خب حالا فایل کانفیگ که در بالا اشاره شد رو باز کنید و چند لاین زیر رو به انتهای اون اضافه کنید:

به تریتب خطوط فوق:

  • بیانگر اسم برنامه هست که اینجا app گذاشته شده است(دلخواه)
  • دستوری که قرار است اجرا شود
  • دایرکتری که برنامه در ان قرار دارد(بعضی از برنامه ها directory relative  هستند به این معنی قبل از اجرا باید به ان دایرکتری cd شود تا اجرا شوند)
  • استارت خودکار برنامه با بوت سیستم عامل
  • ری استارت خودکار برنامه درصورت وجود مشکل
  • تعداد تلاش هایی که برنامه میکنه برای شروع برنامه(درصورت ناموفق بودن اجرا)
  • فایل ارور لاگ
  • فایل لاگ خروجی برنامه
  • یوزر جهت اجرا اپ که اینجا روت (بالاترین سطح) در نظر گرفته شده است

سپس سیو کنید و خارج شوید و پس از ان supervisor با دستورات ذکر شده دربالا باتوجه به سیستم عامل ری استارت کنید

هم اکنون اگر دستور supervisorctl رو وارد کنید چیزی شبیه زیر مشاهده خواهید کرد:

همچنین:

همانطور که مشاهده میکنید برنامه ما در حال اجرا هست

برای اینکه supervisor موقع startup سرور اجرا شود دستور زیر رو وارد کنید

همچنین یکی از قابلیت های بسیار خوب این برنامه امکان دسترسی به پروسس ها از طریق وبسرور هست(مشاهده تصویر زیر) برای فعال کردن اینکار کافی است در فایل کانفیگ supervisor در زیر بخش [supervisord] عبارت زیر رو اضافه کنید

لاین اول برای دسترسی به سرور از همه جا(!) به این پورت هست البته اگر این برنامه رو روی لوکال اجرا میکنید بهتره از ۱۲۷٫۰٫۰٫۱ استفاده کنید

دو لاین دیگر نیز برای تعریف یوزر و پسورد به صفحه زیر است پس از وارد کردن خطوط فوق و سیو ان ؛ supervisor رو ری استارت کنید و سپس از طریق url زیر به صفحه زیر لاگین کنید http://ip:9001

 

2018-08-11-20-00-08

 

البته اینکار روش هایی دیگری هم دارد بطور مثال از nohup استفاده کنید اما این روش بسیار حرفه ای تر عمل میکند و با supervisor براحتی میتوانید به کمک لاگ ها دیباگ کنید و …

 

موفق باشید

LearnSpot Group

About the author

LearnSpot Group

Leave a Comment