Kısaca: systemctl komutları, systemd kullanan Linux sunucularda servisleri yönetmenizi sağlar. sudo systemctl restart nginx bir servisi yeniden başlatır, systemctl status nginx durumunu ve son log satırlarını gösterir, sudo systemctl enable --now nginx servisi hem başlatır hem de açılışta otomatik başlayacak şekilde ayarlar. Servisin logları için journalctl -u nginx kullanılır.
systemctl, Ubuntu, Debian, AlmaLinux ve Rocky Linux gibi güncel dağıtımlarda kullanılan systemd hizmet yöneticisinin komut satırı aracıdır. Web sunucusu, veritabanı veya SSH gibi arka planda çalışan programlar systemd'de servis (service unit) olarak tanımlanır. Komutları sunucunuza SSH ile bağlandıktan sonra çalıştırırsınız. Servisi başlatan, durduran veya ayarını değiştiren komutlar yönetici yetkisi ister, bu yüzden başlarına sudo eklenir. Servis adları dağıtıma göre değişebilir; örneğin Apache, Ubuntu'da apache2, AlmaLinux'ta httpd adıyla çalışır.

Aşağıdaki örneklerde servis adı olarak nginx kullanılmıştır; kendi servisinizin adını yazın. Tüm seçenekler systemctl kılavuz sayfasında yer alır.
| Komut | Ne yapar |
|---|---|
sudo systemctl start nginx | Servisi başlatır |
sudo systemctl stop nginx | Servisi durdurur |
sudo systemctl restart nginx | Servisi durdurup yeniden başlatır |
sudo systemctl reload nginx | Servis destekliyorsa servisi durdurmadan ayarlarını yeniden okutur |
systemctl status nginx | Durumu ve son log satırlarını gösterir |
sudo systemctl enable nginx | Servisin açılışta otomatik başlamasını sağlar |
sudo systemctl enable --now nginx | Açılışta başlamayı ayarlar ve servisi hemen başlatır |
sudo systemctl disable nginx | Açılışta otomatik başlamayı kapatır |
systemctl is-active nginx | Servis çalışıyor mu, kısa yanıt verir |
systemctl is-enabled nginx | Açılışta başlamaya ayarlı mı, kısa yanıt verir |
systemctl --failed | Hata durumundaki tüm birimleri listeler |
systemctl status nginx çıktısında en önemli satır Active: satırıdır. active (running) servisin çalıştığını, inactive (dead) durdurulduğunu, failed ise hatayla kapandığını gösterir. Aynı çıktının altında servisin son log satırları da yer alır; çoğu zaman sorunun ipucu buradadır. Çıktı ekrana sığmazsa sayfalayıcıda açılır; ok tuşlarıyla gezinip q tuşuyla çıkabilirsiniz.
Daha fazla log için journalctl kullanılır:
journalctl -u nginx -n 50: servisin son 50 log satırı.journalctl -u nginx -f: yeni log satırlarını canlı izler; çıkmak için Ctrl+C.journalctl -u nginx --since today: yalnızca bugünkü kayıtlar.journalctl -u nginx -p err: yalnızca hata ve daha önemli düzeydeki kayıtlar.journalctl -b -u nginx: sunucunun son açılışından bu yana olan kayıtlar.Siteniz açılmıyorsa ve sunucuya SSH ile bağlanabiliyorsanız, önce web sunucusu, PHP ve veritabanı servislerinin durumuna bakmak sorunun hangi katmanda olduğunu hızla gösterir. Şu sırayla ilerleyin:
systemctl --failed ile hata veren servisleri listeleyin.systemctl status <servis> ile durumu ve son log satırlarını okuyun.journalctl -u <servis> -n 50 ile hatanın ayrıntısına bakın.sudo systemctl restart <servis> ile servisi yeniden başlatın ve durumu tekrar kontrol edin.systemctl is-enabled <servis> ile servisin açılışta başlayacağından emin olun. Sorun sürerse veya disk, bellek dolduysa kaynak kullanımını kontrol edin ya da destek talebi açın.sudo systemctl daemon-reload çalıştırın, ardından servisi yeniden başlatın.systemctl mask bir servisi elle bile başlatılamaz hâle getirir. Bilmeden kullanmayın; geri almak için unmask gerekir.restart servisi tamamen durdurup yeniden başlatır, bu sırada kısa bir kesinti olabilir. reload servis destekliyorsa yalnızca ayarları yeniden okutur. Servis reload desteklemiyorsa restart kullanın.
Servis açılışta başlamaya ayarlı olmayabilir. systemctl is-enabled ile kontrol edin; disabled yanıtı alırsanız sudo systemctl enable komutunu çalıştırın.
systemd kullanan dağıtımlarda çalışır. Ubuntu, Debian, AlmaLinux ve Rocky Linux'un güncel sürümleri systemd kullanır.
Bilgi bankasını detaylı olarak incelediniz, fakat ihtiyacınız olan bilgiyi bulamıyorsanız,
Bir Destek Talebi Oluşturun.