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 --versionMemeriksa 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 nginxMemulai 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 nginxMengaktifkan 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 nginxMencantumkan Layanan
Untuk melihat hal yang terinstal dan sedang berjalan, tampilkan daftar berkas unit atau unit yang aktif.
list-units --type=service— layanan yang sedang dimuatlist-unit-files --type=service— semua layanan yang terinstal beserta status pengaktifannya
systemctl list-units --type=service --state=running
systemctl list-unit-files --type=serviceMembaca 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.targetMembuat 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 myappMulai 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 nolRestart=always— setiap kali layanan berhentiRestartSec=5— tunggu sebelum mencoba lagi
[Service]
ExecStart=/usr/bin/myapp
Restart=always
RestartSec=5Praktik Terbaik
Kelola layanan dengan percaya diri:
- Bedakan waktu berjalan (
start) dari waktu boot (enable) - Jalankan
daemon-reloadsetelah menyunting berkas unit - Gunakan
journalctl -uuntuk men-debug, bukan berkas log yang tersebar - Tambahkan
Restart=on-failureuntuk aplikasi khusus yang tangguh
Pemeriksaan Singkat
Uji pengetahuan Anda tentang systemd.
Rangkuman
Sekarang Anda dapat mengelola layanan server dengan systemd:
status,start,stop,restart,reloadenable/disableuntuk perilaku saat bootjournalctl -uuntuk log layanan- Berkas unit
.servicekhusus denganRestart=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
- Mengelola Pengguna dan Grup
- Memantau Proses Sistem
- Tugas Terjadwal dengan Cron
- Mengelola Layanan Sistem dengan systemd