Teknoloji ipuçlarını kendin uygula
İçerik
Son yazılar
Biz kimiz
Yazılım Atölyesi, adım adım teknoloji rehberleriyle kendi başına öğrenip uygulama yapmak isteyenlere yardımcı olur. Pratik ipuçları, araç önerileri ve çözümler bulacaksınız.

Linux Systemd Servisleri Yönetme

Bir sunucuda çalışan her arka plan işi bir yerden yönetiliyor. Çoğu modern Linux dağıtımında bu yer systemd. Nginx'i yeniden başlatmak, kendi Python botunuzu boot sırasında ayağa kaldırmak veya çöken bir servisin nedenini bulmak — hepsi aynı araç setiyle yapılıyor.

Aşağıdaki adımları kendi makinenizde ya da bir test sunucusunda uygulayabilirsiniz. Terminal kullanımına yeniyseniz temel komutları hatırlatan başlangıç rehberimize göz atmanız işinizi kolaylaştırır.

Günlük Kullanımda systemctl

systemctl systemd'nin ana arayüzü. Servisleri sorgular, durdurur, başlatır ve açılışa ekler. Değişiklik yapan her komut root yetkisi ister, yani başına sudo gelir.

Durumu Okumak

Herhangi bir müdahaleden önce mevcut durumu görün:

Status çıktısındaki Active satırı kritik. "active (running)" sürekli çalışan bir süreç demek. "active (exited)" ise iş bitmiş ve kapanmış demek; bu bir hata değil, tek seferlik görevlerde normal.

Başlatma, Durdurma, Yeniden Yükleme

KomutNe yapar
startServisi hemen çalıştırır
stopServisi durdurur
restartDurdurup tekrar başlatır, bağlantılar kopar
reloadSüreci kapatmadan yapılandırmayı tazeler
reload-or-restartReload destekliyorsa onu, desteklemiyorsa restart'ı seçer

Canlı bir web sunucusunda önce reload deneyin. Kesinti yaşamazsınız. Nginx gibi servislerde ayrıca nginx -t ile konfigürasyonu doğrulayıp öyle reload etmek iyi bir alışkanlık.

Açılışta Otomatik Başlatma

Burada sık karıştırılan bir ayrım var: start şu anı, enable gelecekteki açılışları ilgilendirir.

Mask'i sadece gerçekten istemediğiniz servisler için kullanın. Unmask etmeyi unutup "servis neden başlamıyor" diye saatlerce aramak klasik bir tuzaktır.

Kendi Servisinizi Yazmak ve Sorunu Bulmak

systemd hizmetleri yalnızca paketlerle gelmez. Kendi scriptinizi de birkaç satırla kalıcı bir servise dönüştürebilirsiniz.

Unit Dosyasının Anatomisi

Kendi yazdıklarınız /etc/systemd/system/ altına gider. Paketlerin kendi dosyaları /lib/systemd/system/ altındadır; oraya dokunmayın, güncellemede üzerine yazılır.

/etc/systemd/system/raporcu.service dosyası şöyle olabilir:

Birkaç kural: ExecStart mutlak yol ister, python3 yazamazsınız. Servis kendi kabuğunu almadığı için PATH ve alias'lar geçerli değildir. Root yerine ayrı bir kullanıcı tanımlamak güvenlik açısından çok daha sağlıklı. Karmaşık başlangıç mantığını doğrudan unit dosyasına sıkıştırmak yerine bir bash scriptine taşıyın; script yazma rehberimizdeki hata yakalama kalıpları burada işe yarar.

Devreye Alma ve Değiştirme

  1. Dosyayı kaydedin.
  2. sudo systemctl daemon-reload çalıştırın. Bu adım atlanırsa systemd yeni dosyayı görmez.
  3. sudo systemctl start raporcu ile deneyin.
  4. systemctl status raporcu ile doğrulayın.
  5. Sorun yoksa sudo systemctl enable raporcu.

Hazır bir paketin servisini değiştirmeniz gerekirse dosyayı kopyalamayın. sudo syst

© 2026 Yazılım Atölyesi