صبر کنید...
مرکز آموزش میلاد سرور

مدیریت سرویس‌ها با systemd؛ start، stop و enable

تصویر آموزشی مدیریت سرویس‌ها با systemd؛ start، stop و enable
راهنمای تصویری و مرحله‌به‌مرحله میلاد سرور

systemd قلب مدیریت سرویس‌های لینوکس است؛ بدانید چه سرویسی فعال است و چطور آن را درست ری‌استارت کنید.

آخرین به‌روزرسانی: ۲۸ مهر ۱۴۰۵ · زمان مطالعه: حدود 3 دقیقه · سطح: کاربردی

در این آموزش چه یاد می‌گیرید؟
  • مدیریت سرویس‌ها با systemd؛ start، stop و enable
  • لیست سرویس‌های فعال را ببینید
  • فایل unit سفارشی بسازید

چرا این موضوع مهم است؟

موضوع Linux یکی از پایه‌های نگهداری سرور است. رعایت آن باعث پایداری بیشتر، کاهش ریسک امنیتی و صرفه‌جویی در زمان پشتیبانی می‌شود.

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

پیش‌نیازها

  • دسترسی SSH با کاربر root یا کاربر دارای sudo
  • Ubuntu 22.04/24.04 یا Debian 12 (سازگاری با توزیع‌های مشابه)
  • نسخه پشتیبان از فایل‌ها و دیتابیس‌های مهم

راهنمای گام‌به‌گام

گام 1 — لیست سرویس‌های فعال را ببینید

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

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

وضعیت یک سرویس را بررسی کنید. اگر روی چند سرور کار می‌کنید، این مورد را یک‌بار روی محیط تست اجرا و سپس روی تولید اعمال کنید.

گام 3 — لاگ سرویس را با journalctl بخوانید

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

گام 4 — سرویس را ری‌استارت کنید

سرویس را ری‌استارت کنید. برای اطمینان، نتیجه را از یک مسیر دوم (مرورگر، کلاینت یا ابزار مانیتورینگ) هم بررسی کنید.

گام 5 — سرویس را برای بوت فعال کنید

سرویس را برای بوت فعال کنید. این کار را در بازه کم‌ترافیک انجام دهید و در صورت نیاز کاربران را از قبل مطلع کنید.

گام 6 — فایل unit سفارشی بسازید

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

نمودار مراحل مدیریت سرویس‌ها با systemd؛ start، stop و enable
شش گام اصلی این آموزش در یک نگاه

نمونه دستورها

نمونه دستورهای مدیریت سرویس‌ها با systemd؛ start، stop و enable
دستورهای پیشنهادی؛ مقادیر نمونه را با اطلاعات سرور خود جایگزین کنید.
systemctl --type=service --state=running
systemctl status nginx
journalctl -u nginx -n 50 --no-pager
sudo systemctl enable --now nginx

نکات امنیتی و بهینه‌سازی

  • رمزها و کلیدها را در فایل‌های محافظت‌شده نگه دارید و هرگز در کد یا مخزن عمومی قرار ندهید.
  • لاگ‌ها را پایش کنید تا رفتار غیرعادی زودتر شناسایی شود.
  • تغییرات را مستند کنید تا در آینده یا هنگام تحویل به تیم دیگر قابل پیگیری باشد.

خطاهای رایج و راه‌حل

  • خطای Permission denied معمولاً به مالکیت یا مجوز فایل مربوط است؛ chmod -R 777 راه‌حل نیست.
  • قبل از بازگردانی بکاپ، مطمئن شوید نسخه بکاپ با نسخه فعلی سازگار است.
  • خطای Permission denied معمولاً به مالکیت یا مجوز فایل مربوط است؛ chmod -R 777 راه‌حل نیست.
نکته طلایی: قبل از restart، با «systemctl cat SERVICE» فایل unit را بخوانید تا مسیر و وابستگی‌ها را بدانید.

سؤالات متداول

تفاوت enable و start چیست؟

start سرویس را همین حالا اجرا می‌کند؛ enable آن را برای اجرای خودکار در بوت ثبت می‌کند.

چرا سرویس مدام restart می‌شود؟

معمولاً خطای پیکربندی یا کمبود منابع است؛ journalctl -u SERVICE دلیل را نشان می‌دهد.

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

میلاد سرور پلن‌های اقتصادی سرور مجازی ایران و سرور مجازی آلمان را با آی‌پی اختصاصی و قیمت شفاف ارائه می‌کند. برای مقایسه همه کشورها فهرست کامل سرورهای بین‌الملل را ببینید.

جمع‌بندی

این آموزش را یک‌بار روی محیط تست تمرین کنید تا در تولید با اطمینان بیشتری اجرا شود.

این آموزش برای شما مفید بود؟نظر شما به بهتر شدن آموزش‌ها کمک می‌کند.
اشتراک‌گذاری:تلگرامواتساپX