0Pricing
Linux Server Deployment & SSH Mastery · Pelajaran

Mengelola Layanan Sistem dengan systemd

Kendalikan program yang berjalan lama dan menggerakkan server Linux menggunakan systemd: mulai, hentikan, aktifkan, dan periksa layanan, baca lognya dengan journalctl, serta pahami kaitan unit dalam pengelolaan proses.

Mengelola Layanan Sistem dengan systemd adalah pelajaran Linux Server Deployment & SSH Mastery gratis di CoddyKit. Ini adalah pelajaran 4 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Linux Server Deployment & SSH Mastery, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Linux Server Deployment & SSH Mastery mencakup 4 pelajaran total.

Layanan vs Proses Biasa

Anda telah mengelola proses individual dan tugas terjadwal. Namun, program yang menjadi inti sebuah server — server web, basis data, dan SSH — berjalan sebagai layanan: daemon latar belakang yang seharusnya dimulai saat boot dan dimulai ulang jika gagal.

Di Linux modern, layanan dikelola oleh systemd, yaitu pengelola sistem dan layanan.

Hal yang Dikelola systemd

systemd mengatur semuanya ke dalam unit. Jenis yang paling umum adalah unit .service, yang menjelaskan cara menjalankan sebuah daemon.

Perintah systemctl adalah antarmuka utama Anda untuk memeriksa dan mengendalikan unit-unit ini.

systemctl --version

Memeriksa Status Layanan

systemctl status menampilkan apakah suatu layanan sedang berjalan, ID proses utamanya, baris log terbaru, dan apakah layanan tersebut diaktifkan saat boot.

Ini biasanya merupakan perintah pertama yang Anda jalankan saat memecahkan masalah layanan.

systemctl status nginx

Memulai dan Menghentikan Layanan

Anda mengendalikan keadaan berjalan suatu layanan dengan start, stop, dan restart. Perintah-perintah ini berlaku segera, tetapi tidak mengubah perilaku saat boot.

Gunakan reload jika suatu layanan mendukung pembacaan ulang konfigurasi tanpa memutus koneksi.

sudo systemctl start nginx
sudo systemctl restart nginx
sudo systemctl reload nginx
sudo systemctl stop nginx

Mengaktifkan Layanan saat Boot

enable membuat layanan dimulai secara otomatis saat server melakukan boot; disable menghapusnya dari proses boot. Hal ini tidak bergantung pada apakah layanan sedang berjalan saat ini.

Flag praktis --now mengaktifkan dan memulai layanan dalam satu langkah.

sudo systemctl enable nginx
sudo systemctl enable --now nginx
sudo systemctl disable nginx

Mencantumkan Layanan

Untuk melihat hal yang terinstal dan sedang berjalan, tampilkan daftar berkas unit atau unit yang aktif.

  • list-units --type=service — layanan yang sedang dimuat
  • list-unit-files --type=service — semua layanan yang terinstal beserta status pengaktifannya
systemctl list-units --type=service --state=running
systemctl list-unit-files --type=service

Membaca Log dengan journalctl

systemd merekam keluaran layanan dalam jurnal. Lakukan kueri terhadapnya dengan journalctl.

  • -u nginx — hanya layanan ini
  • -f — ikuti secara langsung
  • -e — lompat ke bagian akhir
sudo journalctl -u nginx -f
sudo journalctl -u ssh --since '1 hour ago'

Anatomi Berkas Unit

Sebuah layanan ditentukan oleh berkas unit, biasanya di /etc/systemd/system/ atau /lib/systemd/system/. Berkas ini memiliki tiga bagian utama: [Unit], [Service], dan [Install].

Baris ExecStart memberi tahu systemd perintah yang harus dijalankan.

[Unit]
Description=My App
After=network.target

[Service]
ExecStart=/usr/bin/myapp --port 8080
Restart=on-failure

[Install]
WantedBy=multi-user.target

Membuat Layanan Anda Sendiri

Untuk menjalankan program Anda sendiri sebagai layanan, letakkan berkas unit di /etc/systemd/system/, muat ulang systemd agar berkas baru tersebut dikenali, lalu aktifkan dan mulai layanan itu.

daemon-reload diperlukan setelah setiap perubahan pada berkas unit.

sudo nano /etc/systemd/system/myapp.service
sudo systemctl daemon-reload
sudo systemctl enable --now myapp

Mulai Ulang Otomatis saat Gagal

Salah satu fitur terbaik systemd adalah pemulihan otomatis. Direktif Restart= memberi tahu systemd untuk menjalankan kembali layanan yang terhenti karena kerusakan.

  • Restart=on-failure — hanya setelah keluar dengan kode bukan nol
  • Restart=always — setiap kali layanan berhenti
  • RestartSec=5 — tunggu sebelum mencoba lagi
[Service]
ExecStart=/usr/bin/myapp
Restart=always
RestartSec=5

Praktik Terbaik

Kelola layanan dengan percaya diri:

  • Bedakan waktu berjalan (start) dari waktu boot (enable)
  • Jalankan daemon-reload setelah menyunting berkas unit
  • Gunakan journalctl -u untuk men-debug, bukan berkas log yang tersebar
  • Tambahkan Restart=on-failure untuk aplikasi khusus yang tangguh

Pemeriksaan Singkat

Uji pengetahuan Anda tentang systemd.

Rangkuman

Sekarang Anda dapat mengelola layanan server dengan systemd:

  • status, start, stop, restart, reload
  • enable/disable untuk perilaku saat boot
  • journalctl -u untuk log layanan
  • Berkas unit .service khusus dengan Restart= untuk ketangguhan

Dengan demikian, keterampilan Anda dalam mengelola proses dan tugas dengan daemon yang berjalan lama menjadi lebih lengkap.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Mengelola Layanan Sistem dengan systemd” gratis?

Ya — teks lengkap “Mengelola Layanan Sistem dengan systemd” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Linux Server Deployment & SSH Mastery, upgrade ke CoddyKit PRO. Kursus Linux Server Deployment & SSH Mastery mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Mengelola Layanan Sistem dengan systemd”?

Kendalikan program yang berjalan lama dan menggerakkan server Linux menggunakan systemd: mulai, hentikan, aktifkan, dan periksa layanan, baca lognya dengan journalctl, serta pahami kaitan unit dalam… Kamu berlatih Linux Server Deployment & SSH Mastery dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Linux Server Deployment & SSH Mastery?

Tidak diperlukan pengalaman sebelumnya. Linux Server Deployment & SSH Mastery di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 4 dari 4.

Berapa lama pelajaran “Mengelola Layanan Sistem dengan systemd” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Linux Server Deployment & SSH Mastery ini?

Ya. Setiap pelajaran Linux Server Deployment & SSH Mastery menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Mengelola Pengguna dan Grup
  2. Memantau Proses Sistem
  3. Tugas Terjadwal dengan Cron
  4. Mengelola Layanan Sistem dengan systemd
← Kembali ke Linux Server Deployment & SSH Mastery