systemd ile Sistem Hizmetlerini Yönetme
Bir Linux sunucusuna güç veren uzun süre çalışan programları systemd ile denetleyin: hizmetleri başlatın, durdurun, etkinleştirin ve inceleyin; günlüklerini journalctl ile okuyun ve birimlerin süreç yönetimindeki yerini anlayın.
systemd ile Sistem Hizmetlerini Yönetme, CoddyKit'te ücretsiz bir Linux Server Deployment & SSH Mastery dersidir. Bu, 4 dersinin 4. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Linux Server Deployment & SSH Mastery öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Linux Server Deployment & SSH Mastery kursu toplamda 4 dersten oluşur.
Hizmetler ve Sıradan İşlemler
Tek tek işlemleri ve zamanlanmış görevleri yönettiniz. Ancak bir sunucuyu tanımlayan programlar — web sunucuları, veritabanları ve SSH — hizmetler olarak çalışır: açılışta başlaması ve hata durumunda yeniden başlatılması gereken arka plan daemon'larıdır.
Modern Linux'ta hizmetler, sistem ve hizmet yöneticisi olan systemd tarafından yönetilir.
systemd Neleri Yönetir
systemd her şeyi birimler halinde düzenler. En yaygın tür, bir daemon'un nasıl çalıştırılacağını açıklayan .service birimidir.
systemctl komutu, bu birimleri incelemek ve denetlemek için kullandığınız temel arayüzdür.
systemctl --versionHizmet Durumunu Denetleme
systemctl status, bir hizmetin çalışıp çalışmadığını, ana işlem kimliğini, son günlük satırlarını ve açılışta etkin olup olmadığını gösterir.
Bu, bir hizmette sorun giderirken genellikle çalıştırdığınız ilk komuttur.
systemctl status nginxHizmetleri Başlatma ve Durdurma
Bir hizmetin çalışma durumunu start, stop ve restart komutlarıyla denetlersiniz. Bunlar hemen etkili olur ancak açılış davranışını değiştirmez.
Bir hizmet bağlantıları kesmeden yapılandırmasını yeniden okuyabiliyorsa reload komutunu kullanın.
sudo systemctl start nginx
sudo systemctl restart nginx
sudo systemctl reload nginx
sudo systemctl stop nginxHizmetleri Açılışta Etkinleştirme
enable, sunucu açıldığında bir hizmetin otomatik olarak başlamasını sağlar; disable ise hizmeti açılıştan kaldırır. Bu işlem, hizmetin şu anda çalışıp çalışmadığından bağımsızdır.
Kullanışlı --now seçeneği, hizmeti tek adımda hem etkinleştirir hem de başlatır.
sudo systemctl enable nginx
sudo systemctl enable --now nginx
sudo systemctl disable nginxHizmetleri Listeleme
Nelerin yüklü ve çalışır durumda olduğunu görmek için birim dosyalarını veya etkin birimleri listeleyin.
list-units --type=service— şu anda yüklenmiş hizmetlerlist-unit-files --type=service— tüm yüklü hizmetler ve etkinlik durumları
systemctl list-units --type=service --state=running
systemctl list-unit-files --type=servicejournalctl ile Günlükleri Okuma
systemd, hizmet çıktısını günlük içinde toplar. Günlüğü journalctl ile sorgulayın.
-u nginx— yalnızca bu hizmet-f— canlı olarak takip et-e— sona git
sudo journalctl -u nginx -f
sudo journalctl -u ssh --since '1 hour ago'Birim Dosyasının Yapısı
Bir hizmet, genellikle /etc/systemd/system/ veya /lib/systemd/system/ konumunda bulunan bir birim dosyasıyla tanımlanır. Dosyada üç temel bölüm vardır: [Unit], [Service] ve [Install].
ExecStart satırı, systemd'ye hangi komutun çalıştırılacağını söyler.
[Unit]
Description=My App
After=network.target
[Service]
ExecStart=/usr/bin/myapp --port 8080
Restart=on-failure
[Install]
WantedBy=multi-user.targetKendi Hizmetinizi Oluşturma
Kendi programınızı hizmet olarak çalıştırmak için birim dosyasını /etc/systemd/system/ konumuna yerleştirin, systemd'nin yeni dosyayı görmesi için yeniden yükleme yapın, ardından hizmeti etkinleştirip başlatın.
Her birim dosyası değişikliğinden sonra daemon-reload gereklidir.
sudo nano /etc/systemd/system/myapp.service
sudo systemctl daemon-reload
sudo systemctl enable --now myappHata Durumunda Otomatik Yeniden Başlatma
systemd'nin en iyi özelliklerinden biri otomatik kurtarmadır. Restart= yönergesi, çöken bir hizmeti yeniden başlatmasını sağlar.
Restart=on-failure— yalnızca sıfır olmayan bir çıkış kodundan sonraRestart=always— hizmet durduğu her seferdeRestartSec=5— yeniden denemeden önce beklenecek süre
[Service]
ExecStart=/usr/bin/myapp
Restart=always
RestartSec=5En İyi Uygulamalar
Hizmetleri güvenle yönetin:
- Çalışma zamanını (
start) açılıştan (enable) ayırın - Birim dosyalarını düzenledikten sonra
daemon-reloadkomutunu çalıştırın - Sorun ayıklamak için dağınık günlük dosyaları yerine
journalctl -ukullanın - Dayanıklı özel uygulamalar için
Restart=on-failureekleyin
Hızlı Kontrol
systemd bilginizi sınayın.
Özet
Artık sunucu hizmetlerini systemd ile yönetebilirsiniz:
status,start,stop,restart,reload- Açılış davranışı için
enable/disable - Hizmet günlükleri için
journalctl -u - Dayanıklılık için
Restart=içeren özel.servicebirim dosyaları
Bu bilgiler, uzun süre çalışan daemon'larla işlem ve görev yönetimi becerilerinizi tamamlar.
Sıkça Sorulan Sorular
“systemd ile Sistem Hizmetlerini Yönetme” dersi ücretsiz mi?
Evet — “systemd ile Sistem Hizmetlerini Yönetme” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Linux Server Deployment & SSH Mastery kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Linux Server Deployment & SSH Mastery kursu toplamda 4 dersten oluşur.
“systemd ile Sistem Hizmetlerini Yönetme” dersinde ne öğreneceğim?
Bir Linux sunucusuna güç veren uzun süre çalışan programları systemd ile denetleyin: hizmetleri başlatın, durdurun, etkinleştirin ve inceleyin; günlüklerini journalctl ile okuyun ve birimlerin süreç… Linux Server Deployment & SSH Mastery ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Linux Server Deployment & SSH Mastery öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Linux Server Deployment & SSH Mastery, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 4. dersidir.
“systemd ile Sistem Hizmetlerini Yönetme” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Linux Server Deployment & SSH Mastery dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Linux Server Deployment & SSH Mastery dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Kullanıcıları ve Grupları Yönetme
- Sistem Süreçlerini İzleme
- Cron ile Zamanlanmış Görevler
- systemd ile Sistem Hizmetlerini Yönetme