یک سیستم عامل به برنامه هایی نیاز دارد که در پس زمینه اجرا شوند که سرویس ها نامیده می شوند. در یک سیستم لینوکس به این سرویس ها دیمون می گویند. آنها با استفاده از یک سیستم init مانند systemd مدیریت می شوند.

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

این مقاله روش استفاده از دستورات مختلف سیستم init در لینوکس را برای لیست کردن خدمات توضیح می دهد. همچنین یاد خواهید گرفت که چگونه خدمات و سایر بهترین روش ها را برای مدیریت موثر سیستم لینوکس مدیریت کنید.

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

در این بخش روش‌های مختلف فهرست کردن سرویس‌های در حال اجرا در لینوکس توضیح داده می‌شود.

برای اجرای دستورات لینوکس در یک سرور راه دور، با استفاده از یک کلاینت یا ترمینال SSH متصل شوید و به عنوان کاربر ریشه وارد شوید.

نکته حرفه ای

هاستینگer کاربران VPS می توانند به سرور راه دور خود متصل شوند و دستورات را مستقیماً در hPanel با استفاده از آن اجرا کنند مرورگر terminal.

روش فهرست کردن خدمات لینوکس با Systemctl

اکثر سیستم های لینوکس مدرن استفاده می کنند سیستم شده یک init مدیر سیستم و سرویس برای کنترل شیاطین. این جایگزینی برای فرآیندهای اولیه توزیع های قدیمی تر است.

Systemd دارای systemctl فرمان، که به کاربران امکان می دهد تنظیمات سیستم و سرویس خود را مدیریت کنند. به عنوان مثال، از آن برای فهرست کردن تمام فایل های واحد در سرور لینوکس خود استفاده کنید:

sudo systemctl list-unit-files --type service --all
دستور systemctl که همه فایل های واحد را فهرست می کند

ترمینال فایل های واحد را با سرویس در قالب جدولی، شامل وضعیت و از پیش تعیین شده فروشنده، تایپ کنید.

وضعیت سرویس وضعیت عملیاتی واحدهای سیستم شده است. رایج ترین آنها عبارتند از:

  • فعال شد – خدمات فعال در حال اجرا در پس زمینه
  • معلول – خدمات غیرفعال که کاربران می توانند مستقیماً با استفاده از آن فعال شوند شروع کنید فرمان
  • نقاب زده – سرویس‌های متوقف شده که فقط با حذف ویژگی ماسک‌شده قابل شروع هستند.
  • استاتیک – سرویس هایی که فقط زمانی اجرا می شوند که برنامه یا واحد دیگری به آنها نیاز داشته باشد.
  • ناموفق – سرویس‌های غیرفعال که نمی‌توانند به درستی بارگیری یا کار کنند.

در همین حال، پیش‌تنظیم فروشنده، پیکربندی پیش‌فرض یک سرویس است که تعیین می‌کند آیا در طول زمان بوت شروع می‌شود یا خیر. همچنین می توانید از systemctl استفاده کنید لیست واحدها دستور فهرست کردن سرویس‌های بارگذاری شده مناسب:

sudo systemctl list-units --type service --all

یک واحد شامل تمام فرآیندهای systemd از جمله سرویس های سیستم، دستگاه ها و مانت ها می شود. استفاده کنید -نوع پرچم برای لیست کردن فقط سرویس نوع واحد.

نکته حرفه ای

بر خلاف لیست واحدها، systemctl list-unit-files دستورات فایل های واحد نصب شده یا هر سیستم را فهرست می کند processپیکربندی از آنجایی که تمام سرویس ها را بدون در نظر گرفتن شرایط راه اندازی نشان می دهد، لیست کردن فایل های واحد برای بررسی دیمون های نصب شده مناسب تر است.

می توانید systemctl را با grep فرمان یا -حالت گزینه ای برای فیلتر کردن یک وضعیت خاص سرویس لینوکس. در اینجا تکنیک های فیلترینگ سرویس آمده است:

sudo systemctl list-unit-files --type service | grep status
sudo systemctl list-unit-files --type service –-state=status
دستور systemctl فقط سرویس های فعال را برمی گردانددستور systemctl فقط سرویس های فعال را برمی گرداند

تعویض را فراموش نکنید وضعیت با وضعیت فایل واحد فعلی شما. به عنوان مثال استفاده کنید فعال شد فقط خدمات در حال اجرا را که به درستی بارگذاری شده اند فهرست کنید. همچنین می‌توانید واحدها را فیلتر کنید، اما وضعیت ممکن است متفاوت باشد:

sudo systemctl list-units --type service –-state=status
دستور systemctl واحدهایی را با وضعیت فعال برمی گردانددستور systemctl واحدهایی را با وضعیت فعال برمی گرداند

شما می توانید تنها چند خط آخر را با ترکیب چاپ کنید systemctl با دم فرمان به عنوان مثال، برای خروجی آخرین 10 سرویس فعال شده، موارد زیر را اجرا کنید:

sudo systemctl list-unit-files --type service –-state=enabled | tail

روش فهرست کردن خدمات روی لینوکس با استفاده از فرمان سرویس

سیستم عامل های قدیمی لینوکس از یک مدیر سرویس متفاوت به نام استفاده می کنند سیستم V. برای مدیریت خدمات در این سیستم init، از سرویس فرمان

به عنوان مثال، برای لیست کردن همه دیمون ها، دستور زیر را اجرا کنید:

service --status-all
فرمان سرویس که تمام خدمات سیستم و وضعیت آنها را فهرست می کندفرمان سرویس که تمام خدمات سیستم و وضعیت آنها را فهرست می کند

این دستور همچنین وضعیت سرویس ها را با استفاده از نمادها نشان می دهد. بسته به اینکه نمادها ممکن است متفاوت باشند روی توزیع لینوکس اینها رایج ترین آنها هستند:

  • [+] – یک سرویس فعال
  • [-] – خدمات غیرفعال یا غیرفعال
  • [?] – وضعیت سرویس نامشخص است.

استفاده کنید grep دستور فیلتر کردن خدمات در حال اجرا بر اساس روی وضعیت آنها به عنوان مثال، در اینجا فرمان فهرست کردن خدمات در حال اجرا آمده است:

sudo service --status-all | grep "+"

عوض کن + نماد برای فهرست کردن واحدهای ناشناخته یا غیرفعال. توجه داشته باشید که هنگام فیلتر کردن سرویس‌های در حال اجرا یا غیرفعال کردن، ممکن است سرویس‌هایی با وضعیت ناشناخته نیز شامل شوند.

می توانید وضعیت یک سرویس خاص را با استفاده از نام آن تعیین کنید:

sudo service service-name status

نکته حرفه ای

چندین توزیع با systemd، مانند دبیان 8.0، همچنین ممکن است SysV را به عنوان جایگزین ارائه دهد. این بدان معنی است که می توانید خدمات را با استفاده از لیست لیست کنید systemctl و سرویس.

پیشنهاد می‌کنیم بخوانید:  روش استفاده از وردپرس برای وب سایت های سازمانی و مزایای آن

روش فهرست کردن خدمات لینوکس با ابزارهای مدیریت خدمات

برخی از توزیع‌ها و نسخه‌های لینوکس از ابزارهای مدیریت سرویس جایگزین در کنار systemd و System V استفاده می‌کنند. یک مثال محبوب این است تازه به دوران رسیده، در Ubuntu 14.04، فدورا 9، Red Hat Linux Enterprise 6 و مشتقات آن گنجانده شده است.

برای فهرست کردن همه خدمات با Upstart، از initctl دستور:

sudo initctl list
دستور initctl خدمات سیستم و وضعیت آنها را فهرست می کنددستور initctl خدمات سیستم و وضعیت آنها را فهرست می کند

ترمینال نمونه های در حال اجرا را با شناسه شناسایی و وضعیت فعلی آنها فهرست می کند. وضعیت های رایج سرویس در Upstart عبارتند از:

  • در حال دویدن – خدمات بارگذاری شده که در حال حاضر در حال اجرا هستند.
  • متوقف شد – خدمات به دلیل دستور کاربر یا طراحی غیرفعال شده است.
  • کشته شده – توقف ناخواسته خدمات به دلیل الف process سیگنال قطع یا خاتمه
  • راه افتادن – خدماتی که در شرف اجرا هستند.
  • در انتظار – مواردی که منتظر شروع یک رویداد محرک هستند.

شما می توانید استفاده کنید grep برای فیلتر کردن سرویس مبتنی بر روی وضعیت آنها نحو مشابه است سرویس یا systemctl دستور:

initctl list | grep running

سایر توزیع‌های لینوکس – از جمله Gentoo، Funtoo، Alpine و Hyperbola – از آن استفاده می‌کنند OpenRC مدیر خدمات.

برای فهرست کردن خدمات در یک سیستم OpenRC، از وضعیت rc دستور:

rc-status
فرمان rc-status خدمات سیستم و وضعیت آنها را فهرست می کندفرمان rc-status خدمات سیستم و وضعیت آنها را فهرست می کند

بسته به روی توزیع شما، خروجی ممکن است کمی متفاوت باشد. معمولاً جریان سیستم را نشان می دهد سطح اجرا و وضعیت هر سرویس، مانند:

  • آغاز شده – خدمات در حال اجرا، فعال.
  • متوقف شد – خدمات به طور عمدی خاتمه یافته است.
  • سقوط کرد – سرویس های بارگیری شده که با خطا مواجه شده و متوقف شده اند.
  • ناموفق – خدماتی که شروع نشدند.
  • غیر فعال – خدمات غیر فعال در سطح اجرا فعلی.

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

rc runlevel

روش مدیریت خدمات لینوکس

مدیریت خدمات لینوکس برای عملکرد، امنیت و عملکرد سیستم شما بسیار مهم است.

به عنوان مثال، پایان دادن به خدمات غیرضروری با منابع فشرده می تواند استفاده از سخت افزار را به حداقل برساند و عملکرد سیستم شما را بهینه کند.

یکی دیگر از وظایف مدیریتی حیاتی، راه اندازی مجدد خدمات است. این به شما امکان می دهد خدمات بارگذاری شده را در حافظه سیستم پاک کنید و اطمینان حاصل کنید که به روز رسانی ها به درستی اعمال می شوند.

بسته به دستورات مدیریت سرویس متفاوت است روی سیستم init ما استفاده خواهیم کرد systemctl برای این آموزش زیرا بیشتر در توزیع های لینوکس مدرن استفاده می شود.

برای راه اندازی یا توقف سرویس های لینوکس با systemctl، یکی از موارد زیر را اجرا کنید.

sudo systemctl start service-name
sudo systemctl stop service-name

جایگزین کردن نام سرویس با نام واقعی خدمات شما

برای اجرای سرویس‌های ماسک‌دار، ابتدا با استفاده از نقاب برداری فرمان

برای مدیریت خدمات راه اندازی، از موارد زیر استفاده کنید:

sudo systemctl enable service-name
sudo systemctl disable service-name
خروجی ترمینال پس از فعال کردن یک سرویس با systemctlخروجی ترمینال پس از فعال کردن یک سرویس با systemctl

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

sudo systemctl list-dependencies service-name
لیستی از وابستگی های سرویس SSHDلیستی از وابستگی های سرویس SSHD

شما همچنین می توانید لیست کنید وابستگی معکوس – خدماتی که وابسته هستند روی اونی که داری چک میکنی این دستور این است:

sudo systemctl list-dependencies --reverse service-name
لیستی از وابستگی های معکوس سرویس SSHDلیستی از وابستگی های معکوس سرویس SSHD

برای تغییر پیکربندی یک سرویس، از grep، بیخیال، و sed دستورات grep الگویی را در فایل پیکربندی که نیاز به اصلاح دارد قرار می دهد. در همین حال، awk مقدار را بازیابی می کند و sed رشته هدف را با مقدار جدید جایگزین می کند.

نکته حرفه ای

مطمئن نیستید که چگونه برای نیازهای خود دستور بنویسید؟ استفاده کنید هاستینگerدستیار VPS AI مجهز به GPT برای تولید آسان کد، دستورات و دستورالعمل‌ها برای مدیریت سرور شما.

روش دیگر برای مدیریت خدمات لینوکس در VPS استفاده از کنترل پنل میزبانی است که یک رابط بصری ارائه می دهد. مدیریت خدمات گرافیکی برای مبتدیان مناسب است زیرا ساده تر از استفاده از a است command-line رابط.

هاستینگer ارائه می دهد کنترل پنل های مختلفاز جمله Virtualmin، Webmin و Plesk. توجه داشته باشید که بسته به قالب های موجود متفاوت است روی مجازی سازی برنامه های VPS شما

هاستینگer کاربران VPS می توانند به راحتی کنترل پنل را با انتخاب یک الگو از طریق نصب کنند سیستم عامل منو در ناحیه مدیریت VPS. برای کسب اطلاعات بیشتر، راهنمای ما را بررسی کنید روی سیستم عامل VPS خود را تغییر دهید.

هشدار! قبل از تغییر به قالب دیگری از فایل های VPS خود نسخه پشتیبان تهیه کنید. این process داده های شما را پاک می کند

بهترین روش های مدیریت خدمات لینوکس

در این بخش، چندین روش برتر مدیریت سرویس لینوکس را توضیح خواهیم داد تا به شما کمک کند عملکرد و امنیت سیستم خود را به طور موثر حفظ کنید.

پیکربندی هر سرویس را مرور کنید روی یک پایه منظم

به‌روزرسانی ممکن است پیکربندی پیش‌فرض سرویس را تغییر دهد و بر روش رفتار آن تأثیر بگذارد و بر عملکرد سیستم تأثیر بگذارد. برخی از گزینه های خدمات نیز ممکن است به دلیل به روز رسانی منسوخ شده باشند.

پیشنهاد می‌کنیم بخوانید:  روش نصب وردپرس روی داکر (ویندوز، macOS و لینوکس)

بررسی منظم پیکربندی هر سرویس به شما کمک می کند تنظیمات منسوخ را تغییر دهید تا مطمئن شوید که سرویس به درستی کار می کند و استانداردهای امنیتی فعلی را رعایت می کند.

علاوه بر این، بررسی‌های منظم به تعیین اینکه کدام سرویس را هنگام اعمال تغییرات جدید در سرور یا برنامه‌های میزبانی شده تغییر دهید، کمک می‌کند. این تضمین می کند که پیکربندی سرویس فعلی با نیازهای سیستم جدید مطابقت دارد.

سرویس هایی را که دیگر مورد نیاز نیستند حذف یا غیرفعال کنید

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

علاوه بر این، آنها همچنین ممکن است سرور شما را در معرض حملات سایبری قرار دهند. جدا از باز کردن پورت‌های اضافی، ممکن است قدیمی باشند و دارای نقص‌های امنیتی بدون اصلاح باشند.

غیر از به حداقل رساندن سطح حمله سایبری، غیرفعال کردن یا حذف سرویس ها ممیزی های امنیتی و عیب یابی را ساده می کند زیرا نمونه های کمتری برای تجزیه و تحلیل وجود خواهد داشت.

در نهایت، خطاهای تضاد سرویس و پیکربندی اشتباه احتمالی را نیز کاهش می‌دهد.

هشدار! بدون درک عواقب، خدمات را حذف یا غیرفعال نکنید. همیشه ابتدا آن را در یک محیط توسعه آزمایش کنید تا از خرابی سرور تولید جلوگیری کنید.

جزئیات را حفظ کنید Documentation برای هر سرویس

یک VPS لینوکس می تواند تا صدها سرویس فعال داشته باشد. از این رو، حفظ مستندات دقیق برای مدیریت سرور بسیار مهم است. شما باید اطلاعات مربوط به نام، هدف، گزینه های پیکربندی و وابستگی های هر سرویس را ردیابی کنید.

برای یک تیم، مستندات به اعضای جدید کمک می کند و به آنها اجازه می دهد به راحتی تنظیمات سیستم را درک کنند. همچنین به آن‌ها اجازه می‌دهد هنگام راه‌اندازی یک VPS جدید یا منطقه مرحله‌بندی محلی، محیط تولید فعلی را با دقت تکرار کنند.

Documentation همچنین پشتیبان‌گیری و بازیابی سرور را ساده می‌کند، زیرا می‌توانید سرویس‌های نصب و پیکربندی‌های آنها را ردیابی کنید. علاوه بر این، برای اهداف عیب‌یابی مفید است زیرا می‌توانید بررسی کنید که کدام سرویس‌ها اصلاح شده‌اند.

برای ایجاد مستندات، از > کارگردان به خروجی systemctl دستور به یک فایل منجر می شود. به عنوان مثال، از دستور زیر برای ایجاد یک فایل حاوی لیست خدمات استفاده کنید:

sudo systemctl list-unit-files --type service --all > service_list.txt

وابستگی های بین خدمات را درک کنید

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

به عنوان مثال، برنامه وب میزبانی شده شما بستگی دارد روی را PHP-FPM خدمات، که متکی است روی را آپاچی httpd اهریمن، دیو. اگر غیر فعال کنید آپاچی httpd، PHP-FPM خراب می شود و برنامه وب از کار می افتد.

از آنجایی که ممکن است چندین سرویس متکی باشند روی یک دیمون، ردیابی علت اصلی می تواند دشوار باشد. توصیه می‌کنیم قبل از غیرفعال کردن وابستگی یک سرویس، آن را برای اشکال‌زدایی آسان‌تر نقشه برداری کنید.

نظارت بر سلامت و عملکرد خدمات

نظارت بر سلامت و عملکرد یک سرویس به شما کمک می کند تا مشکلات را قبل از اینکه باعث کاهش عملکرد و خرابی شود شناسایی کنید. همچنین داده‌های مهمی را برای گزارش‌های سرویس و عیب‌یابی به شما می‌دهد.

علاوه بر این، نظارت بر سرویس لینوکس به تعیین اینکه آیا تغییرات یا به روز رسانی های جدید سیستم بر عملکرد تأثیر منفی می گذارد کمک می کند. برای بررسی وضعیت سرویس، از دستور systemctl زیر استفاده کنید:

sudo systemctl status service-name

جایگزین کردن نام سرویس با نام سرویس ترمینال توضیحات، وضعیت بارگذاری، process شناسه، استفاده از سخت‌افزار، و گزارش‌های خدمات.

دستور systemctl وضعیت یک سرویس را برمی گردانددستور systemctl وضعیت یک سرویس را برمی گرداند

برای تجزیه و تحلیل عمیق تر و دقیق تر، توصیه می کنیم آن را با ابزارهای دیگر تکمیل کنید. گزینه های محبوب برای چنین ابزارهایی عبارتند از پرومتئوس با گرافانا و یادگار جدید.

نتیجه

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

بسته به دستورات فهرست خدمات متفاوت است روی سیستم لینوکس init استفاده از فهرست خدمات سیستمی systemctl، در حالی که System V استفاده می کند سرویس. علاوه بر این، از ابزارهای کنترل سرویس مانند Upstart و OpenRC استفاده می شود initctl و وضعیت rc، به ترتیب.

این دستورات علاوه بر فهرست کردن، برای کنترل سرویس در زمان راه‌اندازی و مدیریت نمونه‌ها مفید هستند. کاربران همچنین می توانند وضعیت خدمات را با ترکیب آنها با grep فرمان

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