İçeriğe geç
DuyurularBilgi bankasıKampanyalar
Hakkımızdaİletişim DestekTREN
hostingsepetiWEB HOSTING & SUNUCU
Sunucu ve Güvenlik

Systemd hizmetini başlatma ve açılış davranışını yönetme

Hizmetin kullanıcı, çalışma dizini ve başlangıç komutunu inceleyin; start, enable ve daemon-reload ayrımını doğru uygulayın.

Systemd hizmetini başlatma ve açılış davranışını yönetme

Systemd, birçok Linux dağıtımında hizmet süreçlerinin başlatılmasını ve izlenmesini yönetir. Bir uygulamanın terminalde çalışması, systemd altında aynı şekilde başlayacağını göstermez. Kullanıcı, çalışma dizini, ortam ve dosya izinleri farklı olabilir. Ayrıca hizmeti şimdi başlatmak ile sistem açılışında başlatılacak şekilde tanımlamak ayrı işlemlerdir. Bu rehber günlük yönetim kavramlarını ve doğrulama sırasını açıklar. Uygulamanızın özel hizmet dosyası varsa üreticinin verdiği tanımı esas alın; rastgele bir örneği root yetkisiyle çalıştırmayın.

Ön koşullar

Uygulamanın çalıştırılacak komutunu, gerekli kullanıcıyı, dosya konumlarını ve bağımlılıklarını belirleyin. Servis için mümkün olduğunca görevle sınırlı kimlik kullanın. Şifre veya tokenları herkese okunabilir unit dosyasına koymayın. Mevcut hizmet tanımını systemctl cat uygulama.service ile okuyabilirsiniz; uygulama adı yer tutucudur. Daha önce kurulmuş paket dosyasını değiştirmek yerine sistemin desteklediği override yöntemini değerlendirin. Çalışan hizmetin etkisini ve geri dönüş planını bakım öncesi kaydedin.

Yönetim adımları

Test işlemlerini kaydedin ve hizmeti kimin yöneteceğini belirleyin. Elle yapılan değişiklik otomasyon tarafından geri alınabiliyorsa iki yöntemi uzlaştırmadan devam etmeyin. Tek sorumlu yapılandırma kaynağı belirsizliği ve tekrarlı müdahaleyi azaltır.

  1. Unit dosyasında User, WorkingDirectory ve ExecStart alanlarının gerçek ortamla uyumunu kontrol edin. Mutlak komut yolu kullanmak belirsizliği azaltır. Terminaldeki kullanıcı PATH değerine veya shell başlangıç dosyasına güvenmeyin. Uygulamanın yazması gereken dizinlerin izinleri doğru kullanıcıya verilmelidir; tüm sistemi yazılabilir yapmayın. Hizmetin çalışma türü, uygulamanın uzun süre açık kalmasına veya tek işlem yapıp çıkmasına göre seçilir. Type değerini yalnız kopyalanmış örnekten belirlemeyin.
  2. Yapılandırma değişikliğini kontrol edin. systemd-analyze verify ilgili unit dosyasını incelemeye yardımcı olabilir; komut ve seçenekler kullanılan sürüme göre doğrulanmalıdır. Dosya adını ve konumunu yanlış hizmete uygulamayın. Unit tanımını değiştirdikten sonra sudo systemctl daemon-reload yöneticiye dosyaları yeniden okutabilir. Bu işlem uygulamanın kendi yapılandırmasını yeniden yüklemez ve hizmeti otomatik yeniden başlatmaz. Üç farklı işlemi tek bir güncelleme adımı sanmak teşhisi zorlaştırır.
  3. Planlı biçimde hizmeti başlatın veya gerekli yeniden yükleme yöntemini uygulayın. sudo systemctl start uygulama.service yalnız örnek hedefle şimdi başlatmayı anlatır. Üretim veri tabanı veya SSH gibi kritik hizmeti test için durdurmayın. systemctl status uygulama.service ve son günlükleri inceleyin. Active durumu uygulamanın müşteriye doğru cevap verdiğini tek başına kanıtlamaz. Gerçek HTTP, kuyruk veya işlev testi gereklidir. Eksik dosya veya izin hatasını loglardan ayırın.
  4. Açılış politikasını ayrıca belirleyin. systemctl is-enabled uygulama.service mevcut durumu okumaya yardımcı olur; enable başlatma anından farklıdır. Her uygulamanın sürekli açık kalması gerekmez. Bağımlı hizmetler ve veri erişimi hazır olmadan işleme başlamak hataya yol açabilir. Restart politikasını sürekli çöküşü gizlemek için sınırsız agresif tekrar şeklinde kurmayın. Uygulama tekrar başlarken aynı işi iki kez çalıştırabiliyorsa veri bütünlüğü ayrıca değerlendirilmelidir.

Sonuç kontrolü

Kontrollü ortamda veya bakım sırasında açılış davranışını doğrulayın; yalnız enable komutunun başarılı çıkışına güvenmeyin. Üretimde plansız reboot yapmak gerekli değildir. Günlük, uygulama sağlık testi ve izleme birlikte değerlendirilmelidir. Hizmet sırlarının süreç çıktısında görünmediğini kontrol edin. Değişiklik sonrası kullanılan unit ve override dosyalarını kayıt altına alın. Sorun sürüyorsa servis kullanıcı kimliği, çalışma dizini ve gerçek komutla terminal koşullarını karşılaştırmak genellikle daha iyi teşhis sağlar.

Sık sorulan sorular

Enable hizmeti hemen başlatır mı?

Enable ile start farklı işlemlerdir; kullanılan seçenekler birlikte çalıştırabilir. Komutun kapsamını okuyun ve mevcut çalışma durumunu ayrıca kontrol edin.

Daemon-reload uygulama ayarını yeniler mi?

Yalnız systemd unit tanımlarının yeniden okunmasıyla ilgilidir. Uygulamanın kendi reload veya restart gereksinimi ayrıca belirlenir. Her değişiklikte gereksiz servis kesintisi oluşturmayın.

Resmi kaynaklar

Süreç özeti

Systemd hizmetini başlatma ve açılış davranışını yönetme

AdımKontrol
1Hizmet tanımı
2Yetkili kullanıcı
3Yapılandırma kontrolü
4Başlatma testi
5Açılış politikası

Resmî kaynaklar