0Pricing
Linux Server Deployment & SSH Mastery · Ders

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 --version

Hizmet 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 nginx

Hizmetleri 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 nginx

Hizmetleri 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 nginx

Hizmetleri 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ş hizmetler
  • list-unit-files --type=service — tüm yüklü hizmetler ve etkinlik durumları
systemctl list-units --type=service --state=running
systemctl list-unit-files --type=service

journalctl 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.target

Kendi 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 myapp

Hata 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 sonra
  • Restart=always — hizmet durduğu her seferde
  • RestartSec=5 — yeniden denemeden önce beklenecek süre
[Service]
ExecStart=/usr/bin/myapp
Restart=always
RestartSec=5

En İ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-reload komutunu çalıştırın
  • Sorun ayıklamak için dağınık günlük dosyaları yerine journalctl -u kullanın
  • Dayanıklı özel uygulamalar için Restart=on-failure ekleyin

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 .service birim 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

  1. Kullanıcıları ve Grupları Yönetme
  2. Sistem Süreçlerini İzleme
  3. Cron ile Zamanlanmış Görevler
  4. systemd ile Sistem Hizmetlerini Yönetme
← Linux Server Deployment & SSH Mastery Sayfasına Dön